Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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
Reactjs 第2页如何处理@import语句?_Reactjs_Webpack - Fatal编程技术网

Reactjs 第2页如何处理@import语句?

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"; 这些线会导致错误

我一直在学习如何使用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"; 
这些线会导致错误

“意外字符@您可能需要适当的加载程序来处理 “此文件类型”

事实上,异常是明确的,但我找不到合适的加载程序。我已经安装了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得到的一条线索。包含意味着只包含特定的文件路径。没有它,我想它包括了一切。