【发布时间】:2017-07-25 05:50:57
【问题描述】:
我正在使用 Webpack ^2.2.1 和 Style-Loader ^0.13.2。
我的 Webpack 配置中 .css 文件的规则如下所示:
{
test: /\.css$/,
use: [
{ loader: 'style-loader', options: { useable: true } },
{ loader: 'css-loader' }
]
}
现在,当我异步 import(以前的 require.ensure,System.import)一个 css 文件时,您收到的是一个对象而不是原始 css 数据,并附有方法:use() 和 unuse()(因为,useable 选项设置为true)。
import( './mod1.css' ).then( cssRaw => {
setTimeout(() => {
// let's assume an async use case
cssRaw.use();
},3000);
});
但是,这对我不再起作用 (Uncaught TypeError: cssRaw.use is not a function)。
其实import(原System.import)这里提供的对象,并不拥有这样的方法。
我在这里做错了什么或者在 Webpack 2.x 中有什么改变吗? 这个确切的代码事先可以正常工作。
正如到目前为止的答案中提到的那样,将加载器字符串传递为
{ loader: 'style-loader/useable' }
按预期工作。如果这是应该的方式,我猜“recommended configuration for style-loader in 2.x”是非常错误的。
我在 Webpack github 页面上提交了一个已被接受的问题,今天已修复 (https://github.com/webpack-contrib/style-loader/pull/185/commits)。
【问题讨论】:
标签: javascript css webpack webpack-style-loader