nginx配合webpack打包实现二级目录访问
# 背景
由于域名有限,默认情况下使用webpack打包会占用根目录,导致无法部署其他项目,所以需要配置通过二级目录访问
# webpack配置
// webpack.prod.js生产环境配置
module.exports = {
....
output:{
filename: '[name].bundle.js',
path: path.join(__dirname, 'build'),
//和服务器二级目录的文件名称必须一致, 前后的/一定要有
publicPath: '/Test/'
}
};
// webpack.dev.js开发环境配置
//用于merge common和dev文件中的配置
const merge = require('webpack-merge');
module.exports = merge(common, {
mode: 'development',
...
devServer: {
contentBase: './build',
port: 3000,
//和服务器二级目录的文件名称必须一致, 前后的/一定要有
publicPath: '/Test/',
historyApiFallback: {
//用于解决开发环境中刷新404的问题
index: '/Test/index.html'
}
}
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 配置nginx
# nginx.conf
server{
listen 80;
server_name localhost;
# Test 为nginx中二级目录的文件名称,注意Test后面没有/,只有前面有/
localtion /Test {
# 需要在/usr/local/nginx/html/路径下创建一个Test的文件夹,Test中放webpack打包出来的文件
root /usr/local/nginx/html/;
# 用于解决刷新404问题的配置
try_files $uri /Test/index.html;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
nginx -s reload
即可生效,最终访问地址就会变成域名/Test
上次更新: 2024/02/20, 17:31:36
- 01
- Node与GLIBC_2.27不兼容解决方案08-19
- 02
- Git清空本地文件跟踪缓存08-13