首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >依赖升级地狱。这个CSS加载器出了什么问题?

依赖升级地狱。这个CSS加载器出了什么问题?
EN

Stack Overflow用户
提问于 2017-03-06 02:26:24
回答 2查看 441关注 0票数 2

在依赖升级地狱。不知道我能不能从任何人那里得到小费。

除了一件事之外,我什么都能敲定。我正在一个项目中使用CSS Modules和PostCSS。我正在升级到Webpack 2,并借此机会也升级了所有其他的软件包。

我遇到的问题是其中一个CSS处理器。基本上,任何包含composes属性的CSS文件从另一个文件加载类都会失败。

这是Webpack CSS加载器的样子:

代码语言:javascript
复制
test: /\.css/,
exclude: /node_modules/,
use: [
    'style-loader',
    {
        loader: 'css-loader',
        options: {
            modules: true,
            localIdentName: '[folder]__[local]___[hash:base64:5]',
            importLoaders: 1
        }
    },
    'postcss-loader'
]

当我试图加载一个使用样式表的页面时,我在浏览器错误控制台中看到以下错误:

代码语言:javascript
复制
Dynamic page loading failed TypeError: Cannot read property 'removeChild' of null
    at removeStyleElement (eval at ./node_modules/style-loader/addStyles.js (main.js:9858), <anonymous>:122:25)
    at remove (eval at ./node_modules/style-loader/addStyles.js (main.js:9858), <anonymous>:168:4)
    at Array.updateStyle (eval at ./node_modules/style-loader/addStyles.js (main.js:9858), <anonymous>:180:4)
    at addStylesToDom (eval at ./node_modules/style-loader/addStyles.js (main.js:9858), <anonymous>:69:22)
    at module.exports (eval at ./node_modules/style-loader/addStyles.js (main.js:9858), <anonymous>:37:2)
    at eval (eval at ./app/components/EntryGroup/styles.css (1.chunk.js:29), <anonymous>:7:77)
    at Object../app/components/EntryGroup/styles.css (1.chunk.js:29)
    at __webpack_require__ (main.js:687)
    at fn (main.js:106)
    at eval (eval at ./app/components/EntryGroup/index.js (1.chunk.js:22), <anonymous>:3:70)

style-loader似乎抛出了这个错误,但我认为这是因为css-loader让一些它不应该通过的东西通过了,除此之外,我不知道该去哪里找。

有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-29 05:21:51

我使用的是css模块和Webpack 2,在我尝试添加new webpack.NamedModulesPlugin()之前,它一直运行得很好。如果你正在使用它,试着删除它,看看css模块是否工作

票数 6
EN

Stack Overflow用户

发布于 2017-03-17 23:04:52

我也有同样的问题。我对加载器也有相同的配置,现在唯一能解决这个问题的就是使用"ExtractTextPlugin“。我知道使用ExtractTextPlugin进行开发是不可取的,因为它会减慢编译时间,但是目前我没有其他解决方案。如果我使用下面的配置,一切工作起来都很棒。

代码语言:javascript
复制
module: {
    rules: [
        // CSS
        {
            test: /\.css$/,
            include: path.join(__dirname, 'src'),
            use: ExtractTextPlugin.extract({
                fallback: 'style-loader',
                use: 'css-loader?modules&importLoaders=1&localIdentName=[path]___[name]__[local]___[hash:base64:5]!postcss-loader'
            })
        }
    ]
},
plugins: [
    new ExtractTextPlugin({
        filename: 'bundle.min.css',
        allChunks: true
    })
]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42612227

复制
相关文章

相似问题

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