- 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/下面。