Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将url()解析为图像而不绑定_Javascript_Css_Webpack_Sass_Resolve Url Loader - Fatal编程技术网

Javascript 将url()解析为图像而不绑定

Javascript 将url()解析为图像而不绑定,javascript,css,webpack,sass,resolve-url-loader,Javascript,Css,Webpack,Sass,Resolve Url Loader,我正在将Webpack集成到一个已经建立的前端环境中。Sass和resolve url loader正在工作,Webpack将查找CSS中的url()引用的文件。我的问题是,我不想将url()引用的文件复制到dist/文件夹中,我想链接到它们所在的位置 我的文件是这样设置的 www/ index.html assets/ js/ main.js css/ main.scss components/ thing.scss

我正在将Webpack集成到一个已经建立的前端环境中。Sass和resolve url loader正在工作,Webpack将查找CSS中的
url()
引用的文件。我的问题是,我不想将
url()
引用的文件复制到dist/文件夹中,我想链接到它们所在的位置

我的文件是这样设置的

www/
  index.html
  assets/
    js/
      main.js
    css/
      main.scss
      components/
        thing.scss
    images/
      pic.jpg
  dist/
    output.js
    output.css
使用main.scss导入包含行的thing.scss

background:url(../../images/pic.jpg)

resolve url loader会正确地将其解析为
。/images/pic.jpg
,css loader会找到该文件,并调用该文件的加载程序(文件加载程序)。但是,我不想将文件复制到dist/(我通过向文件加载器添加
emitFile:false
)并重写url,使其与CSS输出相对(
。/assets/images/pic.jpg
)。我该怎么做

作为参考,这里是我的webpack.config.js

const path=require('path');
const MiniCssExtractPlugin=require(“迷你css提取插件”);
{
条目:'./assets/js/main.js',
输出:{
path:path.resolve(uu dirname,'dist'),
文件名:“output.js”,
publicPath:'dist/'
},
模块:{
规则:[{
测试:/\.scss$/,,
使用:[
MiniCssExtractPlugin.loader{
加载器:“css加载器”,
选项:{
sourceMap:true,
url:false
}
}, {
加载程序:“解析url加载程序”,
选项:{
是的,
sourceMap:true
}
}, {
加载器:“sass加载器”,
选项:{
sourceMap:true,
sourceMapContents:false
}
}
]
}, {
测试:/\(png | svg | jpg | gif)$/,
使用:[{
加载器:“文件加载器”,
选项:{
emit文件:false
}
}]
}]
},
插件:[新的MiniCssExtractPlugin({
文件名:“[name].css”,
chunkFilename:“[id].css”
})],

}
不是最好的答案,但它很有效

删除解析url加载程序并将css加载程序保留在url:false上。然后只需编写URL路径,就像它们在输出文件中工作一样

不过我可能会接受它并打包我的图片