提交 12094b32 编写于 作者: 彭世瑜's avatar 彭世瑜

fix

上级 2f50d2ab
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
- [MySQL](doc/mysql.md) - [MySQL](doc/mysql.md)
- [Neo4j](doc/neo4j.md) - [Neo4j](doc/neo4j.md)
- [Redis](doc/redis.md) - [Redis](doc/redis.md)
- [ElasticSearch](doc/elasticsearch.md)
- 其他 - 其他
- [其他](doc/index.md) - [其他](doc/index.md)
...@@ -28,11 +28,11 @@ ...@@ -28,11 +28,11 @@
13. [列属性(字段属性)](blog/php-mysql/sql-field-prototype.md) 13. [列属性(字段属性)](blog/php-mysql/sql-field-prototype.md)
[表关系](blog/php-mysql/sql-relation.md) 14. [表关系](blog/php-mysql/sql-relation.md)
[高级数据操作-新增数据](blog/php-mysql/sql-senior-add.md) 15. [高级数据操作-新增数据](blog/php-mysql/sql-senior-add.md)
[高级数据操作-更新数据](blog/php-mysql/sql-senior-update.md) 16. [高级数据操作-更新数据](blog/php-mysql/sql-senior-update.md)
[高级数据操作-删除数据](blog/php-mysql/sql-senior-delete.md) [高级数据操作-删除数据](blog/php-mysql/sql-senior-delete.md)
......
# Webpack loader
loader 将不同类型的文件转换为 webpack 可识别的模块
使用loader的方式
1. 配置方式: pre、normal、post (推荐使用)
2. 内联方式: inline
loader 执行优先级:
```
pre: 前置 loader
normal: 普通 loader
inline: 内联 loader
post: 后置 loader
```
相同优先级:从右到左,从下到上
```js
// 此时loader执行顺序:loader3 - loader2 - loader1
module: {
rules: [
{
test: /\.js$/,
loader: "loader1",
},
{
test: /\.js$/,
loader: "loader2",
},
{
test: /\.js$/,
loader: "loader3",
},
],
},
```
指定优先级
```
// 此时loader执行顺序:loader1 - loader2 - loader3
module: {
rules: [
{
enforce: "pre",
test: /\.js$/,
loader: "loader1",
},
{
// 没有enforce就是normal
test: /\.js$/,
loader: "loader2",
},
{
enforce: "post",
test: /\.js$/,
loader: "loader3",
},
],
},
```
内联方式
```js
import style from 'style-loader!css-loader?modules!./style.css'
```
内联方式跳过配置方式的 loader
```js
// ! 跳过 normal loader。
import style from '!style-loader!css-loader?modules!./style.css'
// -! 跳过 pre 和 normal loader。
import style from '-!style-loader!css-loader?modules!./style.css'
// !! 跳过 pre、 normal 和 post loader。
import style from '!!style-loader!css-loader?modules!./style.css'
```
开发一个 loader
项目结构
```bash
$ tree
.
├── loaders
│ └── test-laoder.js
├── package.json
├── pnpm-lock.yaml
├── src
│ └── index.js
└── webpack.config.js
```
项目文件
```js
// loaders/test-laoder.js
/**
*
* @param {*} content 源文件的内容
* @param {*} map SourceMap 数据
* @param {*} meta 数据,可以是任何内容
* @returns
*/
module.exports = function loader(content, map, meta) {
console.log("hello loader");
return content;
};
```
package.json
```json
{
"dependencies": {
"webpack": "^5.72.1",
"webpack-cli": "^4.9.2"
}
}
```
```js
// webpack.config.js
const path = require("path");
module.exports = {
entry: "./src/index.js",
output: {
path: path.resolve(__dirname, "dist"),
filename: "bundle.js",
clean: true,
},
module: {
rules: [
{
test: /\.js$/,
loader: "./loaders/test-laoder.js",
},
],
},
plugins: [],
mode: "development",
};
```
```js
// src/index.js
console.log("Hello World");
```
编译打包
```
# 安装依赖
$ pnpm add webpack webpack-cli
# 运行打包
$ npx webpack --config webpack.config.js
hello loader
```
https://www.bilibili.com/video/BV14T4y1z7sw?p=67&spm_id_from=pageDriver
elasticsearch下载地址
- 官网下载:[https://www.elastic.co/cn/downloads/past-releases#elasticsearch](https://www.elastic.co/cn/downloads/past-releases#elasticsearch)
- elasticsearch中文社区:[https://elasticsearch.cn/download/](https://elasticsearch.cn/download/)
- 华为云镜像:[https://repo.huaweicloud.com/elasticsearch/](https://repo.huaweicloud.com/elasticsearch/)
下载解压安装
```bash
# elasticsearch
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.4-linux-x86_64.tar.gz
# kibana
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.17.4-linux-x86_64.tar.gz
# 解压
tar -xvf elasticsearch-7.17.4-linux-x86_64.tar.gz
# 运行
cd elasticsearch-7.17.4/bin
./elasticsearch
```
安装JDK
```bash
# 搜索jdk
yum search jdk
# 安装
yum install -y java-1.8.0-openjdk.x86_64
# 验证
java -version
openjdk version "1.8.0_332"
OpenJDK Runtime Environment (build 1.8.0_332-b09)
OpenJDK 64-Bit Server VM (build 25.332-b09, mixed mode)
```
不同编程语言的客户端
https://www.elastic.co/guide/en/elasticsearch/client/index.html
```bash
# php > 7.1
composer require "elasticsearch/elasticsearch" "~7.0"
```
文档:
https://www.elastic.co/guide/en/elasticsearch/client/php-api/7.17/index.html
配置Nginx代理转发
```bash
# kibana.conf
server {
listen 8002;
server_name localhost;
location / {
# 设置 auth
auth_basic "login auth";
auth_basic_user_file /usr/local/nginx/.htpasswd;
proxy_pass http://127.0.0.1:5601;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
```
```bash
# elasticsearch.conf
server {
listen 8001;
server_name localhost;
location / {
# 设置 auth
auth_basic "login auth";
auth_basic_user_file /usr/local/nginx/.htpasswd;
proxy_pass http://127.0.0.1:9200;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
```
Elasticsearch7.6中文文档
- https://www.kancloud.cn/yiyanan/elasticsearch_7_6/1668540
- https://learnku.com/docs/elasticsearch73/7.3
\ No newline at end of file
...@@ -6,6 +6,8 @@ ...@@ -6,6 +6,8 @@
- [Webpack5实战教程](blog/webpack/webpack5.md) - [Webpack5实战教程](blog/webpack/webpack5.md)
- [webpack-loader](blog/webpack/webpack-loader.md)
中文文档: 中文文档:
- [https://webpack.docschina.org](https://webpack.docschina.org) - [https://webpack.docschina.org](https://webpack.docschina.org)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册