我正在使用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数据,并附加了相应的方法:{{1 }和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
)在此处提供的对象并不拥有此类方法。
我在这里做错了什么或者在Webpack 2.x中做了什么改变? 这个确切的代码事先正常工作。
正如目前为止在答案中提到的那样,将加载器字符串作为
传递System.import
按预期工作。如果这是假设的方式,我猜“ recommended configuration for style-loader in 2.x ”是非常错误的。
我在Webpack github页面上提交了一个问题,该页面已于今天修复(https://github.com/webpack-contrib/style-loader/pull/185/commits)。
答案 0 :(得分:3)
将您的加载程序配置更改为以下内容:
{
test: /\.css$/,
use: [
{ loader: 'style-loader/useable' },
{ loader: 'css-loader' }
]
}
可用似乎不是一个选项,而是一个加载器本身,在style-loader模块目录中可用。