美文网首页
webpack入门

webpack入门

作者: kmbaby | 来源:发表于2016-10-09 18:52 被阅读0次

    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入门

          本文链接:https://www.haomeiwen.com/subject/enqmyttx.html