那些webpack日常整理(二)

2017-12-04  本文已影响24人  闫小兀

关键点

一. entry(入口配置)

项目很多文件之间的关系是需要我们牵线搭桥, 然后让webpack去处理; 一般项目会存在一个或者多个'主文件', 其他文件(模块)直接或者间接关联到主文件. 那么entry就是配置配置主文件信息.

entry赋值语法:

const config = {
    entry: '/path/to/my/entry/file.js'
};
module.exports = config;
简写方式:
const config = {
  entry: {
    main: './path/to/my/entry/file.js'
  }
};
    entry:{
        main:'./src/index.js',
        second:'./src/index2.js',
        vendor: ['react', 'react-dom']
    }

二.输出配置(output)

output 配置项作用于打包文件的输出阶段.

output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js'
}
output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js',
    chunkFilename: 'js/[name].chunk.js'
}

注释: [name]为webpack中占位符,表示打包后文件的名称,可以在entry or 代码中设置(webpack还有其他占位符)

三.modules

开发者在模块化编程中,将程序分解成离散功能块,称为模块.
对于webpack而言,所有的文件都是模块.

module: {
    rules: [
      {
        test: /\.css$/,
        use: [
          'vue-style-loader',
          'css-loader'
        ],
      },      
      {
        test: /\.vue$/,
        loader: 'vue-loader',
        options: {
          loaders: {
          }
          // other vue-loader options go here
        }
      },
      {
        test: /\.js$/,
        loader: 'babel-loader',
        exclude: /node_modules/
      },
      {
        test: /\.(png|jpg|gif|svg)$/,
        loader: 'file-loader',
        options: {
          name: '[name].[ext]?[hash]'
        }
      }
    ]
  }

常见loder

[待续持续更新吧]

上一篇下一篇

猜你喜欢

热点阅读