webpack入门

webpack 入门

官网doc http://webpack.github.io/docs/tutorials/getting-started/

npm install webpack -g

添加一个 webpack.conf.js

//webpack配置文件栗子

module.exports =  {
    watch: true,
    entry: entry_file,
    debug: true,
    devtool: 'source-map',
    output: {
        path: path.resolve(process.cwd(),'dist/'),
        filename: '[name].js',
        chunkFilename: '[name].min.js',
        publicPath: path.resolve(process.cwd(),'buildPath/')
    },
    resolve: {
        alias: {
                jquery: 'global/lib/jquery.js',
                template: 'global/lib/template.js',
                underscore: 'global/lib/underscore.js',
          }
    },
    plugins: [
        CopyWebpackPlugin...,
        webpack.ProvidePlugin...,
        webpack.optimize.DedupePlugin...,
        ExtractTextPlugin...,
        webpack.optimize.CommonsChunkPlugin,
        WebpackNotifierPlugin...,
        webpack.DllReferencePlugin...
    ],
    module: {
        loaders: [{
            test: /\.js[x]?$/,
            exclude: /(node_modules)|(global\/lib\/)/,
            loader: 'babel-loader'
        },
        ...
        ]
    }
}

entry

{
    page1: 'path/to/page1',
    page2: 'path/to/page2',
    common: ['jquery', 'react', 'react-dom']
}

entry 的格式如上,指定了要导出3js文件。page1、2都对应一个入口文件。 common对应了几个文件。

最后输出 page1.js page2.js common.js。

watch 是否watch文件变化

debug 是否开启debug

devtool 选择一个 devtool 来增强 debug

参考 https://segmentfault.com/a/1190000004280859

cheap-source-map 方便调试
然带上 eval 参数的可以快更多,但是这种 sourceMap 只能看,不能调试,得不偿失。

output 文件输出的配置

path:

输出文件的目录, 这里为 dist目录

filename:

'[name].js' [name]对应enrty的key

chunkFilename:

异步加载的文件 这里的[name]该文件在编译后对应的一个模块数字 生成如 1.min.js

publicPath:

异步的加载文件对应的build目录

比如 imgae: url(./img/bg.png); 编译后则为 imgage: url(/buildPath/bg.png);

resolve 配置模块路径alias

{
    jquery: 'global/lib/jquery.js',
    template: 'global/lib/template.js',
    underscore: 'global/lib/underscore.js',

}

不详述。配置更多的alias可以方便代码书写,提高webpack寻找模块的速度,提高编译速度。

plugins: 配置webpack插件

插件系列会新开篇章

loaders: 配置 文件对应的loaders

也在插件篇章

调优

会新开优化篇章

你可能感兴趣的:(webpack入门)