关于webpack和gulp打包的疑问,有技术和纯内心疑惑

  1. 现在的项目,使用的是webpack进行编译的,项目的情况是这样的:之前只有一个站点,是一个韩剧站点,然后使用的是vuejs进行组件化开发,后来需要建设一个美剧站点(两个虽然是独立的站点,但是里面大部分的组件是相同)

  2. webpack进行打包的时候,会打包出来两个文件夹,比如美剧韩剧。打包出来的内容因为webpack的output.path的配置,打包出来的文件结构是这样的:

/dist
   /美剧
      /usa.js
      /index.html
   /韩剧
      /korean.js
      /korean.html
  1. 但是nginx配置的是访问了/dist/美剧/dist/韩剧

  2. 但是由HtmlWebpackPlugin打包生成的html中,对应的script标签就变成了/美剧/美剧/.js,但是我想要的效果是<script src="/美剧.js"></script>,

  3. 所以可以使用gulp进行把build之后的结果进行移动到对应的文件夹吗?还是使用node.js的'shelljs/global'进行类似shellmv cp操作呢?当然webpack如果有这种直接能解决的是最好的了,非常感谢

  4. 我疑惑,使用gulp或者shelljswebpackbuild之后的进行文件的移动操作是否可以作为一种良好的解决方案?

阅读 3.6k
2 个回答

看的不是很明白,随便说下我的看法。

首先webpack的功能已经足够强大。 可以不用配合gulp 和 shelljs。

目录不好出现中文吧!

HtmlWebpackPlugin 没用过,我也不用。 (可能团队不一样)因为html是部署在后台的,而后台的代码不一定是node,可能是其他java python等等。 而前端去操作修改后台代码显得不太合理了。

目前我使用assets-webpack-plugin来管理我的js路径。 更详细的介绍可看我之前回答的 https://segmentfault.com/q/1010000004651295

顺带还解决了js版本问题呢

首先感谢邀请吧。

你的问题在于publicPath,用不着上什么gulp, shelljs

打开你的webpack.config.js(当然你可能用了其他名字),找到output部分,加入(或者修改)publicPath字段为/

因为你的具体配置我不清楚,不过试几次就试出来陪成什么最合适了。

改吧朋友

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题