2017-04-12 55 views
2

我想遷移到Webpack 2我有點困惑。在這個環節,它說我們應該用module.rules取代module.loaders,它看起來像裝載機語法替換使用,可以有裝載機財產陣列內有對象:什麼時候應該在Webpack 2中使用use關鍵字和loader關鍵字?

https://webpack.js.org/guides/migrating/

但進一步它說:// Do not use "use" here當它不是一個數組,而是一個單一的裝載機。

這有點令人困惑,我不理解它。什麼時候應該使用「使用」,何時使用「裝載機」/「裝載機」?

回答

1

本質上,當您有一個使用多個加載器的文件類型時,請使用「use」。例如

module: { 
    rules: [ 
     { 
      test: /\.less$/, 
      use: [ 
       'style-loader', 
       ...cssLoaders, 
       lessLoader 
      ], 
     }, 
     { 
      test: /\.css$/, 
      use: [ 
       'style-loader', 
       ...cssLoaders, 
      ], 
     }, 
     { 
      enforce: 'pre', 
      test: /\.jsx?$/, 
      loader: 'eslint-loader', 
      include: assetsDir, 
     }, 
     { 
      test: /\.jsx?$/, 
      include: assetsDir, 
      loader: 'babel-loader', 
     }, 
     { 
      test: /\.(jpe?g|png|gif|svg)($|\?)/i, 
      loader: 'url-loader', // Inline images if they're less than 2 KiB 
      options: { 
       limit: 2048, 
       name: '[name]-[sha1:hash:hex:10].[ext]', 
      } 
     }, 
     { 
      test: /\.(eot|ttf|woff2?|htc)($|\?)/i, 
      loader: 'file-loader', 
      options: { 
       name: '[name]-[sha1:hash:hex:10].[ext]', 
      }, 
     }, 
    ], 
}, 
+0

當我使用這樣的選項時,我收到了不推薦使用的警告。 – Alex

+0

@Alex更具體。什麼是警告?我懷疑你指的是這個:https://github.com/babel/babel-loader/issues/422 – mpen

+0

(node:5408)DeprecationWarning:loaderUtils.parseQuery()收到一個可能有問題的非字符串值,請參閱https://github.com/webpack/loader-utils/issues/56 在下一個主要版本的loader-utils中,parseQuery()將替換爲getOptions()。 – Alex

相關問題