外星人源码论坛 首页 编程经验

[js高手之路]深入浅出webpack教程系列3-配置文件webpack.config.js详解(下) ...

2018-3-21 12:26
原作者: 外星人源码网 来自: 外星人源码网 收藏 分享 邀请

本文继续接着上文,继续写下webpack.config.js的其他配置用法. 一、把两个文件打包成一个,entry怎么配置? 在上文中的webpack.dev.config.js中,用数组配置entry webpack.dev.config.js文件代码: console.log( __di ...

本文继续接着上文,继续写下webpack.config.js的其他配置用法.

一、把两个文件打包成一个,entry怎么配置?

在上文中的webpack.dev.config.js中,用数组配置entry

webpack.dev.config.js文件代码:

console.log( __dirname ); //D:\ghostWu\bak\webpack\demo2
module.exports = {
    entry : ['./src/js/main.js', './src/js/calc.js'],
    output : {
        //__dirname,就是当前webpack.config.js文件所在的绝对路径
        path : __dirname + '/dist', //输出路径,要用绝对路径
        filename : 'index.bundle.js' //打包之后输出的文件名
    }
};

然后在src/js目录下面新建一个calc.js文件,代码如下:

1 function add( n1, n2 ){
2     return n1 + n2;
3 }
4 alert( add( 10, 20 ) );


之前的main.js文件的代码:
1 function say(){
2     alert( 'ghostwu告诉你怎么学习webpack' );
3 }
4 say();

然后命令行下,执行npm run d执行打包命令,刷新index.html文件,就能看到两个结果了

二、把两个文件分别打包成2个文件,entry采用字面量(json)方式配置

console.log( __dirname ); //D:\ghostWu\bak\webpack\demo2
module.exports = {
    entry : {
        main : './src/js/main.js',
        calc : './src/js/calc.js'
    },
    output : {
        //__dirname,就是当前webpack.config.js文件所在的绝对路径
        path : __dirname + '/dist', //输出路径,要用绝对路径
        filename : '[name].bundle.js' //打包之后输出的文件名
    }
};
    
filename中的[name]是计算属性,这里的name就是main和calc,执行npm run d打包命令之后,就会在dist目录下生成两个文件calc.bundle.js, main.bundle.js, 但是这两个文件并没有被引入到index.html文件,我们的index.html文件引入的还是index.bundle.js文件,我们后面会用插件解决

三、filename可以用别的计算属性

官网配置参考:https://webpack.js.org/config...

filename支持4种动态起名字的方式( id, name, hash, chunkhash )

console.log( __dirname ); //D:\ghostWu\bak\webpack\demo2
module.exports = {
    entry : {
        main : './src/js/main.js',
        calc : './src/js/calc.js'
    },
    output : {
        //__dirname,就是当前webpack.config.js文件所在的绝对路径
        path : __dirname + '/dist', //输出路径,要用绝对路径
        filename : '[id].bundle.js' //打包之后输出的文件名
    }
};

id就是模块的编号( 0, 1, .... )

chunkhash:

console.log( __dirname ); //D:\ghostWu\bak\webpack\demo2
module.exports = {
    entry : {
        main : './src/js/main.js',
        calc : './src/js/calc.js'
    },
    output : {
        //__dirname,就是当前webpack.config.js文件所在的绝对路径
        path : __dirname + '/dist', //输出路径,要用绝对路径
        filename : '[chunkhash].bundle.js' //打包之后输出的文件名
    }
};
    

[name]与[hash]组合使用


    console.log( __dirname ); //D:\ghostWu\bak\webpack\demo2
module.exports = {
    entry : {
        main : './src/js/main.js',
        calc : './src/js/calc.js'
    },
    output : {
        //__dirname,就是当前webpack.config.js文件所在的绝对路径
        path : __dirname + '/dist', //输出路径,要用绝对路径
        filename : '[name]-[hash].bundle.js' //打包之后输出的文件名
    }
};


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

粉丝 阅读13377 回复0
上一篇:
编辑 iPhone 通讯录 .contacts 导出文档发布时间:2018-03-21
下一篇:
在react里面使用jquery插件发布时间:2018-03-21
国内最专业的源码技术交流社区
全国免费热线电话

0373-5171417

周一至周日9:00-23:00

反馈建议

admin@eenot.com 在线QQ咨询

扫描二维码关注我们