有没有办法使用webpack进行多个生产构建?

时间:2019-08-21 12:51:28

标签: webpack

我必须将Web应用程序部署在不同的服务器上,并且这样做,我需要设置不同的相对路径(从每个服务器的www根目录)到index.html中捆绑的JS文件(这是由于配置身份验证的方式)所以请随它滚动)

现在,我手动打开./dist/index.html并将脚本标签的SRC属性编辑为服务器#1所需的属性,将我的代码上传到其中,然后对服务器#2重复此过程

Manual edit for Server #1:
<script type="text/javascript" src="/path_to/my_project/index_bundle.js"></script>

Manual edit for Server #2:
<script type="text/javascript" src="/completely/different/path_to/my_project/index_bundle.js"></script>

我想构建到多个dist文件夹(即./dist_server1,./dist_server2等),并在各自的index.html中硬编码不同的脚本标签的相对路径。基本上,我只是想为自己节省一些手工工作。有没有办法用webpack做到这一点?

1 个答案:

答案 0 :(得分:0)

我知道了。您可以为每个所需的构建创建单独的webpack.config.server_name.js文件。然后:

  1. 在每个配置文件中设置不同的输出路径:path.join(__ dirname,'/ server1')或path.join(__ dirname,'/ server2')
  2. 设置output.publicPath:'/ path_to / my_project /'或output.publicPath:'/ completely / different / path_to / my_project /'
  3. 在package.json中,添加不同的脚本命令以使用这些配置文件,例如:
    • “ server1”:“ webpack --config webpack.config.server1.js -p”
    • “ server2”:“ webpack --config webpack.config.server2.js -p”
  4. 要构建它们,请运行“ npm run server1”和“ npm run server2”