继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Webpack初学:webpack安装和命令行

慕标0246214
关注TA
已关注
手记 39
粉丝 251
获赞 1274
mkdir //新建文件夹
npm init // 在项目中引导创建一个package.json文件。安装包的信息可保持到项目的package.json文件中,以便后续的其它的项目开发或者他人合作使用,也说package.json在项目中是必不可少的。

npm install webpack --save-dev //下载webpack

npm install css-loader style-loader -save-dev //下载用于适配css文件的loader

webpack -g //查看webpack命令

webpack hello.js hello.bundle.js --module-bind 'css=style-loader!css-loader' //绑定css的loader

--watch //文件更新时自动打包
--progress //查看打包过程
--progress -dispaly-modules //列出打包模块
--display-reasons //打包原因

webpack --config webpack.dev.config.js     //修改默认配置文件

webpack.config.js配置
官方文档:
需要先引入path模块, const path = require('path')
然后再在output中设置path:path.resolve(__dirname,'dist/js')

const path = require('path');
module.exports ={
  entry: './src/script/main.js',
  output: {
    path: __dirname + '/build',
    filename: 'bundle.js'
  }
}

一、如果想用不同的模版生成不同的html文件,只用在plugins里添加各种htmlWebpackPlugin的实例就好了。
二、页面中引入inline的script
github上,ampedandwired/html-webpack-plugin/examples/inline/template.jade中可以看到代码。
三、htmlWebpackPlugin.files.chunks.entry就是chunks输出的地址
四、main以inline的形式引进,a,b,c以外链的形式引进
1、index.html中
(1)在htmlWebpackPlugin的配置中有一个有一个参数chunks可以配置。
(2)head中
<script type="text/javascript">
<%= compilation.assets[htmlWebpackPlugin.files.chunks.main.entry.substr(htmlWebpackPlugin.files.publicPath.length)].source() %>
</script>
重点:!!!compilation.assets是webpack暴露出来可以获取文件数据的方法。通过传文件名路径进这个对象,拿到这个文件的索引,通过调用source拿到文件内容。
compilation.assets需要的是不带publicPath,htmlWebpackPlugin.files.chunks.main.entry带publicPatch,所以用substr()截取。
(3)body中<%= htmlWebpackPlugin.files.chunks[k].entry %>
(4)config.js中inject为false
五、小结
1、html和动态生成的文件一一对应。
2、htmlWebpackPlugin,如何自定义html,并且通过模板,参数如何传参。
3、多页面时,如何通过htmlWebpackPlugin生成多个html
4、深入探究通过htmlWebpackPlugin,结合模板的方式把生成的js,通过inline引入到html中。

打开App,阅读手记
3人推荐
发表评论
随时随地看视频慕课网APP