Reactjs 第2页如何处理@import语句?
我一直在学习如何使用webpack设置reactjs项目 所以我试图让这个项目运行的网页配置。我想使用提取文本网页包插件 但是在css文件中有导入语句Reactjs 第2页如何处理@import语句?,reactjs,webpack,Reactjs,Webpack,我一直在学习如何使用webpack设置reactjs项目 所以我试图让这个项目运行的网页配置。我想使用提取文本网页包插件 但是在css文件中有导入语句 @import "https://fonts.googleapis.com/css?family=Lato:100,300,400,700,900"; @import "https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css"; 这些线会导致错误
@import "https://fonts.googleapis.com/css?family=Lato:100,300,400,700,900";
@import "https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css";
这些线会导致错误
“意外字符@您可能需要适当的加载程序来处理
“此文件类型”
事实上,异常是明确的,但我找不到合适的加载程序。我已经安装了html、文件、url加载器,并尝试了一些配置,但无法完成
这些是我的css和scss加载程序
{
test: /\.css$/,
include: [ path.resolve(__dirname, "/node_modules/")],
loader: ExtractTextPlugin.extract({
fallbackLoader: 'style-loader',
loader: [
'css-loader',
'postcss-loader',
],
})
},
{
test: /\.scss$/,
include: [ path.resolve(__dirname, "/node_modules/")],
loader: ExtractTextPlugin.extract({
fallbackLoader: 'style-loader',
loader: [
'postcss-loader',
'sass-loader',
'css-loader',
],
}),
}
我知道装载机的顺序是从右到左。这将使SCS的加载程序阵列为:
['css-loader'、'postss-loader'、'sass-loader']
这是因为它本质上是一个组合函数,即。
css(postsss(sass(文件)))
它与@symbol无关。由于我是一个网络包的初学者,我错过了一个小要点
如果使用include:[]不包含任何内容,则表示包含所有文件
如果使用include:[file x]包含某些内容,则表示包含除file x以外的任何文件。
由于我添加了“include:[path.resolve(\uuu dirname,“/node\u modules/”)”,“它只包含节点模块,而不是我的src文件夹。如果删除导入,它是否有效?不,它表示您可能需要适当的加载程序来处理此文件类型。(这次没有@import)。您可以在这里查看css文件。当我删除include:[path.resolve(\uu dirname,“/node\u modules/”)时,这一行就可以工作了。但导致错误的app.css不在节点模块中,而是在src目录(单独的文件夹)中。这是weirdI得到的一条线索。包含意味着只包含特定的文件路径。没有它,我想它包括了一切。