gpt4 book ai didi

javascript - Webpack 4 - 模块解析失败 : Unexpected character '@'

转载 作者:数据小太阳 更新时间:2023-10-29 04:45:13 24 4
gpt4 key购买 nike

我最近从 Webpack 3 升级到 4。它现在抛出一个错误:

Module parse failed: Unexpected character '@' You may need an appropriate loader to handle this file type. | @import './scss/variables.scss'; | | * { @ ./src/index.js 1:0-22

在我的 styles.scss 文件中,我正在执行以下操作:

@import 'scss/variables.scss';

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

body {
font-family: Arial, Helvetica, sans-serif;
}

在我的 index.js 文件中,我只做了以下事情:

import './style.scss';

在我的 webpack.dev.js 中,我所做的只是添加了模式:'development':

const StyleLintPlugin = require('stylelint-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const Dotenv = require('dotenv-webpack');

module.exports = {
mode: 'development',
entry: './src/index.js',
output: {
filename: 'public/bundle.js'
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: ['babel-loader', 'eslint-loader']
},
{
test: /\.scss$/,
loader: ExtractTextPlugin.extract(['css-loader', 'sass-loader'])
}
]
},
plugins: [
new StyleLintPlugin({
configFile: '.stylelintrc',
context: 'src',
files: '**/*.scss',
failOnError: false,
quiet: false,
syntax: 'scss'
}),
new ExtractTextPlugin('public/style.css'),
new Dotenv()
]
};

我不知道从 Webpack 3 到 4 的什么变化导致了这个错误。

我遇到的问题与此处发布的问题非常相似:Webpack 4 Module parse failed: Unexpected character '@' (1:0)

我已经解决了所有相关的 stackoverflow 问题,但都没有帮助。

下面是我的 package.json 中的相关依赖:

"babel-loader": "^7.1.4",
"css-loader": "^0.28.11",
"eslint-loader": "^1.9.0",
"extract-text-webpack-plugin": "^4.0.0-beta.0",
"node-sass": "^4.9.0",
"sass-loader": "^6.0.7",
"style-loader": "^0.20.3",
"stylelint-webpack-plugin": "^0.10.5",
"uglifyjs-webpack-plugin": "^1.2.5",
"webpack": "^4.8.3",
"webpack-cli": "^2.1.4"

下面是我的package.json文件中的相关脚本,供评论引用:

"scripts": {
"watch": "./node_modules/.bin/webpack --mode development --watch --progress",
"build": "./node_modules/.bin/webpack --mode production"
},

最佳答案

问题是我用来运行 Webpack 的脚本没有指定配置文件。它应该是这样的:

"scripts": {
"watch": "./node_modules/.bin/webpack --watch --config webpack.dev.js",
},

我认为这会产生 @import 问题,因为它没有加载 css-loader,因为它没有像上面那样指定配置文件,它使用不包含 css-loader 的默认 Webpack 开发配置。

关于javascript - Webpack 4 - 模块解析失败 : Unexpected character '@' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50622971/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com