首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让Stylus与Webpack 3合作?

如何让Stylus与Webpack 3合作?
EN

Stack Overflow用户
提问于 2017-10-28 05:35:19
回答 2查看 2.6K关注 0票数 1

我真的很难让Stylus CSS预处理器与当前版本的Webpack一起工作。这是我尝试过的:

webpack.config.js:

代码语言:javascript
复制
var path = require("path");
module.exports = {
    entry: './src/app.js',
    output: {
        filename: 'mwe.js',
        path: path.resolve(__dirname, 'dist')
    },
    module: {
        rules: [
            {
                test: /\.js$/,
                include: /src/
            },
            {
              test: /\.styl$/,
              include: /src/,
              use: [
                'style-loader',
                {
                  loader: 'css-loader',
                  options: {
                    modules: true,
                    localIdentName: '[name]__[local]___[hash:base64:5]'
                  }
                },
                'stylus-loader'
              ],
            },
        ]
    }
};

package.json:

代码语言:javascript
复制
{
  ...
  "devDependencies": {
    "css-loader": "^0.28.7",
    "style-loader": "^0.19.0",
    "stylus": "^0.54.5",
    "stylus-loader": "^3.0.1",
    "webpack": "^3.8.1"
  }
}

/src内部,我有一个非常简单的app.jsstyle.styl

当我运行Webpack时,/dist/mwe.js会像预期的那样生成,但我也希望从手写笔文件生成一个CSS文件。这里我漏掉了什么?

EN

回答 2

Stack Overflow用户

发布于 2017-10-28 09:04:01

如果您使用的是style-loader,则Webpack不会发出.css文件。您需要使用ExtractTextPlugin来获取CSS文件。

票数 2
EN

Stack Overflow用户

发布于 2018-03-08 20:19:36

正如Panya所提到的,您需要首先安装ExtractTextPlugin

将其包含在

  1. npm i --save-dev extract-text-webpack-plugin
  2. Then webpack.config.js

代码语言:javascript
复制
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const extractPlugin = new ExtractTextPlugin({
  filename: '../css/style.css',
  allChunks: true,
});

const config = {
  …
  module: {
    rules: [
      {
        test: /\.(css|styl)$/,
        use: extractPlugin.extract({
          use: [
            {
              loader: 'css-loader', 
              options: {importLoaders: 1, sourceMap: true}
            },
            {
              loader: 'stylus-loader',
              options: { sourceMap: true },
            },
          ]
        })
      }
    ]
  },
  plugins: [extractPlugin]
  …
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46983719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档