javascript - Webpack - 生产如何为 <link href =""> 和 css 文件中的图像路径启用不同的文件路径

标签 javascript css path vuejs2 webpack-2

我会更详细地解释。

    module.exports = {
  build: {
    env: require('./prod.env'),
    index: path.resolve(__dirname, '../dist/index.html'),
    assetsRoot: path.resolve(__dirname, '../dist/'),
    assetsSubDirectory: 'assets',
    assetsPublicPath: './',
    productionSourceMap: true,
  }
}

以上是我的 webpack 构建的配置设置。这适用于将 CSS 文件等 Assets 嵌入我的 index.html 文件所需的路径。如以下代码所示:-

<link href=./assets/css/app.345e4523874bd70b2f24b4356d30ed9e.css rel=stylesheet>

但是当查看 app.345e4523874bd70b2f24b4356d30ed9e.css 时,webpack 当然已经构建了图像和字体的所有路径,如下所示:-

./assets/img/home-bg.jpg

问题是我需要将所有与 CSS 相关的资源路径更改为 ../img 或 ../fonts。

我已经尝试了很多东西并在网上查找但似乎无法找到解决方案!?一定很简单。

这是我的文件夹结构。谢谢

CSS 图片 js index.html

最佳答案

刚刚通过添加 'publicPath '../' 到

解决了这个问题
{
    test: /\.(jpg|png|jpe?g|gif|svg)(\?.*)?$/,
    loader: 'url-loader',
    options: {
      limit: 10000,
      name: utils.assetsPath('img/[name].[hash:7].[ext]'),
      publicPath: '../'
    }
  },
  {
    test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
    loader: 'url-loader',
    options: {
      limit: 10000,
      name: utils.assetsPath('fonts/[name].[hash:7].[ext]'),
      publicPath: '../'
    }

希望这对其他人有帮助

关于javascript - Webpack - 生产如何为 <link href =""> 和 css 文件中的图像路径启用不同的文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50900691/

相关文章:

javascript - AttachEventListener ('change' ...) 在 IE9 中无法使用下拉选择/ ionic

javascript - 如何使用 fillColor 填充 pdfmake 的列背景颜色?

javascript - 选择前弹出显示

url - 由模式 ID 填充的 SVG 路径不适用于非根 URL

javascript - 如果 .length 为 > 对于选择选项

css - 删除行之间的空格

html - 背景图像完全覆盖

c - 为什么我的文件的相对路径不能被我的应用程序识别?

html - SVG 文本路径,确定文本何时超出路径

javascript - 验证对象的值