Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.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

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
正在尝试使用webpack 4从scss文件获取css文件_Css_Webpack_Sass - Fatal编程技术网

正在尝试使用webpack 4从scss文件获取css文件

正在尝试使用webpack 4从scss文件获取css文件,css,webpack,sass,Css,Webpack,Sass,我想这样设置我的js和scss资产: /src/_assets/js/app.js /src/_assets/js/development.js /src/\u资产/scss/app.scss 然后我想以这些捆绑的静态资产结束: /\u site/js/app.js /\u site/js/development.js /\u site/css/app.css 我一直在js方面,但是我很难让我的scss文件成功地转换为css。如果我强制使用模式:“production”,CSS文件不会生

我想这样设置我的
js
scss
资产:

  • /src/_assets/js/app.js
  • /src/_assets/js/development.js
  • /src/\u资产/scss/app.scss
然后我想以这些捆绑的静态资产结束:

  • /\u site/js/app.js
  • /\u site/js/development.js
  • /\u site/css/app.css
我一直在
js
方面,但是我很难让我的
scss
文件成功地转换为
css
。如果我强制使用
模式:“production”
,CSS文件不会生成,但是前100行左右的内容会被一堆注释过的
js
代码所取代。如果我允许
模式:'development'
,那么整个CSS文件就是
js
code

我做错了什么?

package.json:

const MiniCssExtractPlugin = require("mini-css-extract-plugin");

module.exports = {

name: process.env.NODE_ENV == 'production' ? 'production' : 'development',
mode: process.env.NODE_ENV == 'production' ? 'production' : 'development',

entry: {
    'app': './src/_assets/js/app.js',
    'development': './src/_assets/js/development.js',
},

output: {
    path: __dirname + '/src',
    filename: './js/[name].js',
},

module: {
    rules: [
        {
            test: /\.js/,
            loader: 'babel-loader',
            include: __dirname + '/src/_assets/js'
         },
        {
            test: /\.(sa|sc|c)ss$/,
            use: [
                'style-loader',
                MiniCssExtractPlugin.loader,
                'css-loader',
                'sass-loader',
            ],
        }
    ],
},

plugins: [
    new MiniCssExtractPlugin(
        {
            // Options similar to the same options in webpackOptions.output
            // both options are optional
            filename: "./css/[name].css",
            chunkFilename: "./css/[id].css"
        }
    )
],
import './../scss/app.scss';
{
“依赖性”:{
“@11ty/eleventy”:“^0.7.1”,
“@babel/core”:“^7.0.0”,
“@babel/preset env”:“^7.0.0”,
“巴别塔加载器”:“^8.0.5”,
“css加载器”:“^2.1.0”,
“迷你css提取插件”:“^0.5.0”,
“节点sass”:“^4.11.0”,
“sass加载程序”:“^7.1.0”,
“样式加载器”:“^0.23.1”,
“网页包”:“^4.28.4”,
Web包cli“^3.2.1”
}

}
我想出来了。以下是我所做的更改:

webpack.config.js:

const MiniCssExtractPlugin = require("mini-css-extract-plugin");

module.exports = {

name: process.env.NODE_ENV == 'production' ? 'production' : 'development',
mode: process.env.NODE_ENV == 'production' ? 'production' : 'development',

entry: {
    'app': './src/_assets/js/app.js',
    'development': './src/_assets/js/development.js',
},

output: {
    path: __dirname + '/src',
    filename: './js/[name].js',
},

module: {
    rules: [
        {
            test: /\.js/,
            loader: 'babel-loader',
            include: __dirname + '/src/_assets/js'
         },
        {
            test: /\.(sa|sc|c)ss$/,
            use: [
                'style-loader',
                MiniCssExtractPlugin.loader,
                'css-loader',
                'sass-loader',
            ],
        }
    ],
},

plugins: [
    new MiniCssExtractPlugin(
        {
            // Options similar to the same options in webpackOptions.output
            // both options are optional
            filename: "./css/[name].css",
            chunkFilename: "./css/[id].css"
        }
    )
],
import './../scss/app.scss';
})

/src/_assets/js/app.js:

const MiniCssExtractPlugin = require("mini-css-extract-plugin");

module.exports = {

name: process.env.NODE_ENV == 'production' ? 'production' : 'development',
mode: process.env.NODE_ENV == 'production' ? 'production' : 'development',

entry: {
    'app': './src/_assets/js/app.js',
    'development': './src/_assets/js/development.js',
},

output: {
    path: __dirname + '/src',
    filename: './js/[name].js',
},

module: {
    rules: [
        {
            test: /\.js/,
            loader: 'babel-loader',
            include: __dirname + '/src/_assets/js'
         },
        {
            test: /\.(sa|sc|c)ss$/,
            use: [
                'style-loader',
                MiniCssExtractPlugin.loader,
                'css-loader',
                'sass-loader',
            ],
        }
    ],
},

plugins: [
    new MiniCssExtractPlugin(
        {
            // Options similar to the same options in webpackOptions.output
            // both options are optional
            filename: "./css/[name].css",
            chunkFilename: "./css/[id].css"
        }
    )
],
import './../scss/app.scss';