LeB*_*eau 21 javascript webpack sass-loader
我正在尝试通过 webpack 编译我的 Sass。编译正常的 sass 没问题,但出现错误。
Module not found: Error: Can't resolve '../img/twitter.svg' in '/Users/Steve/mywebsite/scss'
@ ./~/css-loader!./~/sass-loader/lib/loader.js!./scss/main.scss 6:94501-94530
Run Code Online (Sandbox Code Playgroud)
有没有办法解决这个问题?或者,有没有办法将 sass 编译器的级别设置为不那么严格以忽略某些错误
下面是我目前的配置。
const path = require("path");
const ExtractTextPlugin = require("extract-text-webpack-plugin");
module.exports = {
resolve: {
alias: {
masonry: "masonry-layout",
isotope: "isotope-layout",
},
},
entry: "./main.js",
output: {
path: path.resolve(__dirname, "./dist/dist2"),
filename: "bundle.js",
},
module: {
rules: [
{
test: /\.(png|jpg|svg)$/,
include: path.join(__dirname, "/dist/img"),
loader: "url-loader?limit=30000&name=images/[name].[ext]",
},
{
test: /\.js$/,
exclude: /node_modules/,
loader: "babel-loader?presets[]=es2015",
},
{
test: /\.scss$/,
use: ExtractTextPlugin.extract({
use: ["css-loader", "sass-loader"],
}),
},
{
test: /\.vue$/,
loader: "vue-loader",
options: {
loaders: {},
// other vue-loader options go here
},
},
],
},
plugins: [
// new webpack.optimize.UglifyJsPlugin(),
new ExtractTextPlugin("ross.css"),
],
};
Run Code Online (Sandbox Code Playgroud)
Ola*_*lip 32
我知道这已经很晚了,但是对于任何正在寻找解决此错误的方法的人来说;在我的情况下,图像在模板中完美加载,但是,Webpack 返回错误:Module not found: Error: Can't resolve './path/to/assets.png'
修复/解决方法:
添加?url=false到您的 css-loader 中,这将禁用 css-loader 的 url 处理:
...
{
loader: "css-loader?url=false"
},
...
Run Code Online (Sandbox Code Playgroud)
我没有任何运气url-loader,并file-loader在对方的回答建议。我能够解决它使用resolve-url-loader
module: {
rules: [
{ // sass / scss loader for webpack
test: /\.(sass|scss|svg|png|jpe?g)$/, //Make sure to allow all necessary file types here
use: ExtractTextPlugin.extract({
use: [
{
loader: 'css-loader',
options: {
importLoaders: 1,
minimize: true,
sourceMap: true
}
},
{
loader: 'postcss-loader',
options: {
sourceMap: true
}
},
{
loader: "resolve-url-loader", //resolve-url-loader needs to come *BEFORE* sass-loader
options: {
sourceMap: true
}
},
{
loader: "sass-loader",
options: {
sourceMap: true
}
}
]
})
}
],
},
Run Code Online (Sandbox Code Playgroud)
您尚未为 webpack 文件中的图像指定任何加载器。
url-loader并file-loader到你的package.json通过
npm install --save url-loader file-loader
Run Code Online (Sandbox Code Playgroud)
在你的 webpack 配置文件中添加以下内容 -
{
test : /\.(png|jpg|svg)$/,
include : path.join(__dirname, 'img'),
loader : 'url-loader?limit=30000&name=images/[name].[ext]'
}, // inline base64 URLs for <=30k images, direct URLs for the rest
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
21737 次 |
| 最近记录: |