Webpack 4. 编译scss分离css文件

标签 webpack webpack-4

我试图将 scss 编译成一个单独的 css 文件,但没有运气。现在,css 与所有 js 代码一起进入 bundle.js。
如何将我的 css 分离到它自己的文件中?

这是我的配置的样子。

var path = require("path");

module.exports = {
entry: "./js/main.js",
output: {
    path: path.resolve(__dirname, "dist"),
    filename: "bundle.js",
    publicPath: "/dist"
},
watch:true,
module: {
    rules: [
        {
            test: /\.js$/,
            use: {
                loader: "babel-loader",
                options: { presets: ["es2015"] }
            }
        },
        {
            test: /\.scss$/,
            use: [
                {
                    loader: "style-loader"
                },
                {
                    loader: "css-loader"
                },
                {
                    loader: "sass-loader"
                }
            ]
        }
    ]
}

};

最佳答案

其他答案让我很头疼,因为它们不起作用。我做了很多谷歌搜索,我意识到你可以编译 scss分成单独的 css文件而不使用任何额外的插件

webpack.config.js

const path = require('path');

module.exports = {
    entry: [
        __dirname + '/src/js/app.js',
        __dirname + '/src/scss/app.scss'
    ],
    output: {
        path: path.resolve(__dirname, 'dist'), 
        filename: 'js/app.min.js',
    },
    module: {
        rules: [
            {
                test: /\.js$/,
                exclude: /node_modules/,
                use: [],
            }, {
                test: /\.scss$/,
                exclude: /node_modules/,
                use: [
                    {
                        loader: 'file-loader',
                        options: { outputPath: 'css/', name: '[name].min.css'}
                    },
                    'sass-loader'
                ]
            }
        ]
    }
};

package.json
{
  "name": "...",
  "version": "1.0.0",
  "description": "...",
  "private": true,
  "dependencies": {},
  "devDependencies": {
    "file-loader": "^5.0.2",
    "node-sass": "^4.13.1",
    "sass-loader": "^8.0.2",
    "webpack": "^4.41.5",
    "webpack-cli": "^3.3.10"
  },
  "scripts": {
    "build": "webpack --config webpack.config.js --mode='production'"
  },
  "keywords": [],
  "author": "...",
  "license": "ISC"
}

依赖项:
npm install --save-dev webpack webpack-cli file-loader node-sass sass-loader

如何运行JS和SCSS编译
npm run build

关于Webpack 4. 编译scss分离css文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50394789/

相关文章:

javascript - 旧网站上的 Gulp 到 Webpack 迁移 - 从非 npm 依赖项生成 vendor

javascript - 如何使 eslint 解析在 jsconfig 中映射的路径

vue.js - 在构建时在 Webpack 中导入 YAML 数据,并在运行时将其作为解析数据提供

Webpack - 在所有其他 scss 模块中自动包含一个配置 scss 文件

node.js - npm start 使用 React.js 给出 webpack cli 错误

reactjs - 如何修复未捕获的 DOMException : Failed to execute 'pushState' on 'History'

javascript - 使用 typescript 中的 javascript,使用 webpack 进行捆绑。运行时错误

javascript - 使用 Webpack 4 在 Javascript 中导入 JSON 文件

webpack 开发服务器不构建和重新加载 index.html

网络包 4 : Load splitChunks module through JS during runtime