1.npm包管理工具

npm init -y

如果创建的项目的根目录名称是中文或者包含中文,不能使用-y

npm init

回车时要求你输入包的名称,自己手写项目名称,例test

2.新建src,dist文件夹

src

--index.html 首页

--main.js 项目的JS入口文件

将main.js文件打包引入到index.html,这里的webpack是全局安装的

webpack ./src/main.js --output-filename ./dist/bundle.js --output-path . --mode development
<script src="../dist/bundle.js"></script>

3.自动打包

(1)安装工具webpack-dev-server,实时打包

cnpm i webpack-dev-server -D

提示需要安装webpack依赖

cnpm i webpack -D

(2)项目根目录下新建配置文件

webpack.config.js

//由于webpack是基于Node进行构建的,所以,webpack的配置文件中,任何合法的Node代码都是支持的
var path = require('path')
//向外暴露一个配置对象
//当以命令行形式运行webpack或webpack-dev-server的时候,工具会发现,我们并没有提供要打包的文件的入口和出口文件,此时,他会检查项目根目录中的配置文件,并读取这个文件,就拿到了导出的这个配置对象,然后根据这个对象,进行打包构建
module.exports={
entry:path.join(__direname,'./src/main.js'),//入口文件
output:{//指定输出选项
path:path.join(__direname,'./dist'),//输出路径
filename:'bundle.js'//指定输出文件的名称
}
}

此时,命令行不需要输入入口文件和出口文件,只需要输入webpack就可打包

(3)实时更新

package.json

"scripts":{
"dev":"webpack-dev-server --open --port 3000 --contentBase src --hot"
}

webpack output is served from / 托管的目录是根路径

(4)安装插件html-webpack-plugin

cnpm i html-webpack-plugin -D

webpack.config.js

//在内存中,根据指定的模板页面,生成一份内存中的首页,同时自动把打包好的bundle注入到页面底部
//如果过要配置插件,需要在导出的对象中,挂载一个plugins节点
var htmlWebpackPlugin=require('html-webpack-plugin')
plugins:[//所有webpack 插件的配置节点
new htmlWebpackPlugin({
template:path.join(__direname,'./src/index.html'),//指定模板文件路径
filename:'index.html' //设置生成的内存页面的名称,只有名称为index.html才能被浏览器自动打开
})
]

最新文章

  1. 4.MySQL 主主(m-m) 同步生产库标准同步操作实施流程
  2. 在JAVA中,关于反射机制的讨论
  3. sql 操作,
  4. CSS 的 border 样式
  5. unrecognized selector sent to instance 0x10b34e810
  6. css javascript 自动化压缩(保存后即自动生成压缩文件)
  7. java异常处理01
  8. ps命令学习笔记
  9. C#图片水印代码整理
  10. Qt 5.9.4 如何静态编译和部署?
  11. python爬虫--爬取某网站电影下载地址
  12. Linux 文件内容查看(cat、tac、nl 、more 、less、head、tail )
  13. leetcode 890. 查找和替换模式 Python
  14. CoordinatorLayout使用详解: 打造折叠悬浮效果
  15. android 显示gif图片
  16. 《linux性能及调优指南》 3.4 硬盘瓶颈
  17. ES6 WeakMap和WeakSet的使用场景
  18. 【转】28个Unix/Linux的命令行神器
  19. BZOJ3434 WC2014时空穿梭(莫比乌斯反演)
  20. JWNL的配置使用

热门文章

  1. element组件 MessageBox不能显示确认和取消按钮,记录正确使用方法!
  2. idea创建自定义代码块
  3. LeetCode 141. 环形链表(Linked List Cycle) 19
  4. firefox 获取xpath
  5. golang的for循环基本语法
  6. AJAX个人草稿
  7. 20190705-记IIS发布.NET CORE框架系统之所遇
  8. vue.js+DRF跨域访问图片
  9. python中数组用法
  10. @app.route源码流程分析