webpack 字体文件路径问题

  1. webpack配置如下
 output: {
    path: path.resolve(__dirname, '../../public/static/dev'),
    filename: 'js/[name].js'
    // filename: 'js/[name]_[chunkhash:8].js'
  }, 
 module: {
    rules: [
     {
        test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
        loader: 'url-loader',
        options: {
          limit: 10000,
          name: utils.assetsPath('[name].[hash:7].[ext]')
        }
      }
    ]
}    

util文件如下

exports.assetsPath = function (_path) {
    const assetsSubDirectory = process.env.NODE_ENV === 'production'
        ? '/public/static/dist/fonts/'
        : '/public/static/dev/fonts/'

    return path.posix.join(assetsSubDirectory, _path)
    //return assetsSubDirectory + _path;
}

如上面代码,网站根目录为public目录,源代码目录和public同目录。
我的字体文件生成在 xxx.com/public/static/dev/public/static/dev/fonts/,
然后网页中字体文件的引入文件url为 xxx.com/public/static/dev/fonts/.
两者不统一,为何我改动utils中assetsPath的路径时,字体文件生成的目录会变动很正常,但是为什么网页引入字体文件的路径也会变动呢? 怎样统一下两个文件路径呢?
用相对路径也不行,因为相对路径是相对于index.html, index.html目录是在 dev/html/下面。

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