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

保罗·史瑞克

我想像这样设置我的jsscss资产:

  • /src/_assets/js/app.js
  • /src/_assets/js/development.js
  • /src/_assets/scss/app.scss

然后我想最终得到这些捆绑的静态资产:

  • /_site/js/app.js
  • /_site/js/development.js
  • /_site/css/app.css

我一直站在js一边,但我很难让我的scss文件css成功转换。如果我强制CSS 文件确实会生成mode: 'production',但是前 100 行左右被一堆注释js代码替换js如果我允许,整个 CSS 文件就是代码mode: 'development'

我究竟做错了什么?

包.json:

{
  "devDependencies": {
    "@11ty/eleventy": "^0.7.1",
    "@babel/core": "^7.0.0",
    "@babel/preset-env": "^7.0.0",
    "babel-loader": "^8.0.5",
    "css-loader": "^2.1.0",
    "mini-css-extract-plugin": "^0.5.0",
    "node-sass": "^4.11.0",
    "sass-loader": "^7.1.0",
    "style-loader": "^0.23.1",
    "webpack": "^4.28.4",
    "webpack-cli": "^3.2.1"
  }
}

webpack.config.js:

const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const devMode = process.env.NODE_ENV !== 'production';

module.exports = {
	
	name: devMode ? 'development' : 'production',
	mode: devMode ? 'development' : 'production',

	entry: {

		// JS
		'js/app.js': './src/_assets/js/app.js',
		'js/development.js': './src/_assets/js/development.js',

		// SCSS
		'css/app.css': './src/_assets/scss/app.scss',
	},

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

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

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

};

保罗·史瑞克

我想到了。以下是我所做的更改:

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"
        }
    )
],

};

/src/_assets/js/app.js:

import './../scss/app.scss';

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Webpack:从SCSS到CSS文件

来自分类Dev

使用webpack 2将.scss文件提取到.css中

来自分类Dev

尝试使用 Webpack 链接文件

来自分类Dev

Bootstrap 4 scss 文件

来自分类Dev

使用webpack无需js即可编译.scss文件

来自分类Dev

使用 webpack 将 css 移动到 angular 4 组件中的外部文件

来自分类Dev

Webpack-导出SASS(.scss)文件

来自分类Dev

空样式(.css / .scss)文件

来自分类Dev

使用Postcss进行Webpack编译失败,因为在node_modules的库中找不到scss文件

来自分类Dev

使用Webpack从节点模块加载CSS文件

来自分类Dev

使用Webpack导入CSS和JS文件

来自分类Dev

如何使用Vue组件文件保留CSS / SCSS

来自分类Dev

崇高地为SCSS文件使用Sass而不是CSS语法?

来自分类Dev

使用Bower的scss文件中的scss依赖关系

来自分类Dev

Grunt结合了SCSS和CSS文件

来自分类Dev

webpack 使用 extract-text-webpack-plugin 将 css 提取到单独的文件中

来自分类Dev

使用gulp-sass在已编译的CSS中从SCSS文件输出行号

来自分类Dev

如何使用Gulp缩小和自动添加SASS / SCSS中的CSS文件

来自分类Dev

Webpack 从 .jsx 文件中删除 css?

来自分类Dev

Webpack不建立css文件

来自分类Dev

Webpack 1.12:捆绑CSS文件

来自分类Dev

将webpack(环境)变量传递到scss文件

来自分类Dev

webpack配置不适用于我的scss文件:(

来自分类Dev

如何使用IntelliJ Idea 13 Ultimate文件观察器将scss文件编译为css?

来自分类Dev

如何使用grunt-sass将多个scss文件编译成多个css文件?

来自分类Dev

我正在尝试使用wro4j Maven在构建时gzip js和css文件

来自分类Dev

如何使用react webpack设置bootstrap 4 scss

来自分类Dev

gulp minify-css清除scss文件中的注释

来自分类Dev

gulp minify-css清除scss文件中的注释

Related 相关文章

热门标签

归档