2017-03-05 89 views
2

我使用的是Webpack ^2.2.1和Style-Loader ^0.13.2Style-Loader可用功能在Webpack 2.x中不起作用

規則從我的WebPack配置.css文件看起來像:

  { 
       test:  /\.css$/, 
       use: [ 
        { loader: 'style-loader', options: { useable: true } }, 
        { loader: 'css-loader' } 
       ] 
      } 

現在,當我異步import(前require.ensureSystem.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」是相當錯誤的。


我提交了被接受今日(https://github.com/webpack-contrib/style-loader/pull/185/commits)固定在GitHub上的WebPack頁面上的問題。

回答

3

更改程序的配置以下內容:

{ 
    test: /\.css$/, 
    use: [ 
     { loader: 'style-loader/useable' }, 
     { loader: 'css-loader' } 
    ] 
} 

可用似乎不是一個選擇,但其本身裝載機,風格裝載機模塊目錄中可用。

+1

你說得對,如果我們按照你所描述的那樣通過loader-string,它就可以工作。在這種情況下,我很難用官方的「2.x *的Webpack樣式加載器指南」(https://webpack.js.org/loaders/style-loader/#recommended-configuration)來明確描述它'可用'功能作爲選項。 – jAndy

+0

幸運的是,Webpack文檔在許多情況下絕對不知道是最新的還是正確的。 –