webpack项目修改了assetsPublicPath配置 build后,js css和图片资源的路径问题

如图
修改了assetsPublicPath配置,js和css带上了前缀,但是图片却没有

clipboard.png

clipboard.png

目录结构是这样的
clipboard.png

阅读 23.2k
2 个回答

试了一下把
clipboard.png
imgPath前面的../../删掉就可以了

已经被自己蠢死了。。可以删掉问题吗?

assetsSubDirectory,你应该再改一下这个字段。

补充:

// utils.js
exports.assetsPath = function (_path) {
  const assetsSubDirectory = process.env.NODE_ENV === 'production'
    ? config.build.assetsSubDirectory
    : config.dev.assetsSubDirectory
  return path.posix.join(assetsSubDirectory, _path)
}

// webpack.base.conf.js
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
loader: 'url-loader',
options: {
  limit: 10000,
  name: utils.assetsPath('img/[name].[hash:7].[ext]')
}

lz看一下utils的assetsPath方法和webpack.base.conf.js中有关图片类型的loader处理路径,这样大概就能够明白最终编译的static/img是怎么来的了。

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