首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS文件不与webpack一起创建

问CSS文件不与webpack一起创建
EN

Stack Overflow用户
提问于 2016-05-20 11:59:28
回答 3查看 1.3K关注 0票数 0

我使用webpack,我想用SASS生成我的CSS文件。

所以我增加了css-加载程序和sass-加载程序。但是,webpack不创建我的CSS文件夹。我的webpackconfig:

代码语言:javascript
复制
const webpack = require('webpack'),
      ExtractTextPlugin = require('extract-text-webpack-plugin'),
      BrowserSyncPlugin = require('browser-sync-webpack-plugin');

module.exports = {
    entry: './js/app.js',
    output: {
        path: './public',
        filename: 'app.bundle.js'
    },
    module: {
        loaders: [
            {
                test: /\.js$/,
                exclude: /node_modules/,
                loader: 'babel',
                query: {
                    presets: ['es2015', 'stage-2']
                }
            },
            {
                test: /\.scss$/,
                loaders: ExtractTextPlugin.extract(["style", "css", "sass"])
            }
        ]
    },
    plugins: [
        new ExtractTextPlugin('app.bundle.css'),
        new BrowserSyncPlugin(
            {
                host: 'localhost',
                port: 3000,
                server: { baseDir: ['./'] }
            }
        )
    ]
}

你知不知道?

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-05-20 17:31:01

你可以使用样式!css!sass加载器。只需使用npm安装它们,并在webpack.config中设置下面的配置。

代码语言:javascript
复制
{
   test: /\.scss$/,
   loader: 'style!css!sass?sourceMap'
}

最后的webpack.config应该如下所示:

代码语言:javascript
复制
const webpack = require('webpack'),
      ExtractTextPlugin = require('extract-text-webpack-plugin');

module.exports = {
    entry: './js/app.js',
    output: {
        path: './js',
        filename: 'app.bundle.js'
    },
    module: {
        loaders: [
            {
                test: /\.jsx?$/,
                exclude: /node_modules/,
                loader: 'babel',
                query: {
                    presets: ['es2015', 'stage-2']
                }
            },
            {
              test: /\.scss$/,
              loader: 'style!css!sass?sourceMap'
            }
        ]
    },
    plugins: [
        new webpack.HotModuleReplacementPlugin()
    ]
}

现在,您的CSS应该被正确地捆绑。

票数 0
EN

Stack Overflow用户

发布于 2016-05-20 13:13:54

plugins应该是根属性,而不是module的属性。

代码语言:javascript
复制
const webpack = require('webpack'),
      ExtractTextPlugin = require('extract-text-webpack-plugin');

module.exports = {
    entry: './js/app.js',
    output: {
        path: './js',
        filename: 'app.bundle.js'
    },
    module: {
        loaders: [
            {
                test: /\.jsx?$/,
                exclude: /node_modules/,
                loader: 'babel',
                query: {
                    presets: ['es2015', 'stage-2']
                }
            },
            {
                test: /\.scss$/,
                loader: ExtractTextPlugin.extract('style', 'css!sass')
            }
        ]
    },
    plugins: [
        new ExtractTextPlugin('app.bundle.css')
    ]
}
票数 -1
EN

Stack Overflow用户

发布于 2017-08-06 05:45:08

您必须在某个地方导入scss文件,比如您的index.js或App.js:

例如import './sass/main.scss';

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37346193

复制
相关文章

相似问题

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