2017-03-02 24 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