什么是webpack:
模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用。 (这里可以去度娘查一下具体的解释)
1.生成模块
安装node.js
创建工作目录webpack01
安装webpack:npm install webpack@3.12.0 –g (npm install之后会安装一些项目依赖的包在node_modules文件夹内);
模块打包机:它做的事
在工作目录webpack01中搭建
npm init (创建package.json文件);
npm install vue 安装vue
手动创建静态页面(index.html)和入口文件 (main.js);在main.js中引入app组件在html页面中显示内容,
我们把webpack编译出口文件名字命名为build.js,在html中引用,这样打包编译后,打开html页面显示内容。
通过vue组件的方式把内容展示在页面中;
执行命令:webpack ./main.js build.js (可以看到执行该命令之后,生成了build.js文件),打开html页面
1.通常在开发环境下,我们是根据package.json下的script脚本执行命令,但是未来的模块有可能还有图片等css文件,如果想使用更方便需要配置webpack.config.js文件
2.webpack.config.js 是webpakc的配置文件
使用webpack.config.js在你的项目里 可以对你的项目进行模块化打包,并且也可使组件按需加载,还可将图片变成base64格式减少网络请求。
3.配置webpack.config.js如图,然后执行webpack,会默认执行这个js文件
2.添加css样式
添加main.css文件,添加样式,这里直接编译会报错,因为webpack只能处理js文件,如果需要处理css图片等文件需要安装对应的loader(可以促使webpack额外的处理非JavaScript文件)
下载并配置:npm i css-loader@2.0.2 style-loader –D
Tips:遇到后缀为.css的文件,webpack先用css-loader加载器去解析这个文件,最后计算完的css,将会使用style-loader生成一个内容为最终解释完的css代码的style标签放到head标签里面。
3.图片文件处理
在app.js中导入图片文件,导入之后webpack打包对文件的处理需要url-loader和file-loader
下载处理图片的loader模块 npm i url-loader file-loader –D,下载完成后在model中配置url-loader,file-loader不需要配置,会自动进行解析。执行webpack进行编译
执行webpack命令会执行webpack.config.js文件,可以将webpack写入package.json来扩展命令直接用npm run dev编译
--watch 自动更新
--progress 显示打包进度
4.Webpack插件
这里把之前的目录整理一下,修改好对应的路径,让html文件自动生成到dist文件夹中,这里需要下载html-webpack-plugin,执行npm i html-webpack-plugin@3.2.0 –D
下载完成后加入配置plugins
执行npm run build 进行编译,这时index.html会自动生成到dist文件夹下,打开文件后发现编译时会自动生成一条引入build.js的代码,所以在之前的html文件中的引用可以删除
配置webpack-dev-server
Webpack-dev-server主要提供两个功能
1.为静态文件提供web服务
2.自动刷新和热替换(HMR)自动刷新是指当修改代码时webpack会进行自动编译,更新网页内容。热替换是指运行时更新各种模块,即局部刷新。
安装webpack-dev-server,npm i webpack-dev-server@2.9.0 –D 常用参数配置:
--open 自动打开浏览器
--hot 热更新,不在刷新的情况下替换css样式
--inline 自动刷新
--port 9999 指定端口号
--process 显示编译进度
情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用。
模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用。
Webpack由来:由于前端之前js、css、图片文件需要单独进行压缩和打包,这样团队人员处理很繁琐,然后 Instagram 团队就想让这些工作自动化,然后webpack应运而生。
模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用。
Webpack由来:由于前端之前js、css、图片文件需要单独进行压缩和打包,这样团队人员处理很繁琐,然后 Instagram 团队就想让这些工作自动化,然后webpack应运而生。
模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用。
Webpack由来:由于前端之前js、css、图片文件需要单独进行压缩和打包,这样团队人员处理很繁琐,然后 Instagram 团队就想让这些工作自动化,然后webpack应运而生。
模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用。
Webpack由来:由于前端之前js、css、图片文件需要单独进行压缩和打包,这样团队人员处理很繁琐,然后 Instagram 团队就想让这些工作自动化,然后webpack应运而生。
模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用。
Webpack由来:由于前端之前js、css、图片文件需要单独进行压缩和打包,这样团队人员处理很繁琐,然后 Instagram 团队就想让这些工作自动化,然后webpack应运而生。
模块打包机:它做的事
模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用。
Webpack由来:由于前端之前js、css、图片文件需要单独进行压缩和打包,这样团队人员处理很繁琐,然后 Instagram 团队就想让这些工作自动化,然后webpack应运而生。
情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用。
Webpack由来:由于前端之前js、css、图片文件需要单独进行压缩和打包,这样团队人员处理很繁琐,然后 Instagram 团队就想让这些工作自动化,然后webpack应运而生。
模块打包机:它做的事情是,分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用。
Webpack由来:由于前端之前js、css、图片文件需要单独进行压缩和打包,这样团队人员处理很繁琐,然后 Instagram 团队就想让这些工作自动化,然后webpack应运而生。