2017-03-02 35 views
0

第一次去webpack。Webpack正則表達式

在我的根目錄下,我有我main.js切入點和我還檢查的.js和.scss文件

它編譯main.js文件。

Webpack似乎無法找到任何其他.scss或.js文件。我做錯了什麼。

下面

全部配置:

var webpack = require('webpack'); 
var path = require('path'); 
let ExtractTextPlugin = require("extract-text-webpack-plugin"); 




    var webpack = require('webpack'); 
    var path = require('path'); 
    let ExtractTextPlugin = require("extract-text-webpack-plugin"); 


    module.exports = { 

     entry: './main.js', 
     output: { 
      path: path.resolve(__dirname, './dist3'), 
      filename: 'bundle5.js' 
     }, 

     module: { 
      rules: [ 

      { test: /\.js$/, 
        exclude: /node_modules/, 
        loader: "babel-loader?presets[]=es2015", 

       }, 

       { 
        test:/\.scss$/, 
        use: ExtractTextPlugin.extract({ 
         use: ['css-loader', 'sass-loader'], 
         fallback: 'style-loader', 
        }) 
       }, 



      ] 
     }, 

     plugins: [ 

      //new webpack.optimize.UglifyJsPlugin(), 
      new ExtractTextPlugin('ross.css') 

     ] 

    }; 
+0

您是否在'main.js'中導入'.js'和'.scss'? Webpack不關心從入口點不需要的任何文件。 –

+0

你是不是說所有的文件都必須以某種方式引用?它不會觀察像browserify這樣的變化嗎?你有沒有例子?謝謝。 – LeBlaireau

回答

1

的WebPack不只是包括所有文件,在您的項目,而是從入口點(S)開始,包括在這些文件和它們的依賴關係所需的一切。如果您希望文件包含在您的包中,則可以導入它們,甚至是scss或其他非JavaScript文件,而符合某些規則的加載程序會將它們轉換爲有效的JavaScript。例如,您可以在JavaScript中導入.scss文件:

import './styles.scss'; 

你也可以有多個入口點,將他們所有的依賴關係到包添加。看看入口點的官方文檔:https://webpack.js.org/concepts/entry-points/

您在module.rules中定義的加載程序只是告訴webpack如何處理與正在使用的正則表達式匹配的導入。欲瞭解更多信息,請參閱:https://webpack.js.org/concepts/loaders/

+0

不錯的工作。在javascript文件中導入.css或scss感覺很奇怪。 – LeBlaireau