网页升级访问站,作一个网站要多少钱,聊城做网站的,网站国内服务器租用Webpack 是一个静态模块打包工具#xff0c;从入口构建依赖图#xff0c;打包有关的模块#xff0c;最后用于展示你的内容 静态模块#xff1a;编写代码过程中的#xff0c;html#xff0c;css#xff0c; js#xff0c;图片等固定内容的文件 打包过程#xff0c;注… Webpack 是一个静态模块打包工具从入口构建依赖图打包有关的模块最后用于展示你的内容 静态模块编写代码过程中的htmlcss js图片等固定内容的文件 打包过程注意只有和入口有直接/间接引入关系的模块才会被打包 Webpack 的作用把静态模块内容压缩整合转译等前端工程化 把 less/sass 转成 css 代码把 ES6 降级成 ES5 等支持多种模块文件类型多种模块标准语法 为何不学 vite 现在很多项目还是基于 Webpack 来进行构建的所以还是要掌握 Webpack 的使用 体验 Webpack 打包 2 个 JS 文件内容 需求封装 utils 包校验手机号和验证码长度在 src/index.js 中使用使用 Webpack 打包 步骤 新建项目文件夹 Webpack_study初始化包环境得到 package.json 文件 npm init -y新建 src 源代码文件夹书写代码包括 utils/check.js 封装用户名和密码长度函数引入到 src/index.js 进行使用 src/utils/check.js // 封装校验手机号长度和校验验证码长度的函数
export const checkPhone phone phone.length 11
export const checkCode code code.length 6src/index.js /*** 目标1体验 webpack 打包过程*/
// 1.1 准备项目和源代码
import { checkPhone, checkCode } from ../utils/check.js
console.log(checkPhone(13900002020))
console.log(checkCode(123123123123))
// 1.2 准备 webpack 打包的环境
// 1.3 运行自定义命令打包观察效果npm run 自定义命令下载 webpack webpack-cli 到项目版本独立 npm i webpack webpack-cli --save-dev注意虽然 webpack 是全局软件包封装的是命令工具但是为了保证项目之间版本分别独立所以这次比较特殊下载到某个项目环境下但是需要把 webpack 命令配置到 package.json 的 scripts 自定义命令作为局部命令使用 项目中运行工具命令采用自定义命令的方式局部命令 npm run buildnpm run 自定义命令名字 注意实际上在终端运行的是 build 右侧的具体命名 自动产生 dist 分发文件夹压缩和优化后用于最终运行的代码 需求最终流程图 执行完打包流程后会在项目下生产dist/main.js
((){use strict;console.log(!0),console.log(!1)})();这是编译完的结果从index.js开始执行编译调用对应的check方法check方法所产生的结果已经展示在编译后的文件中所以这两个check方法就不会再整合到dist文件中了。
Webpack 修改入口和出口 使用Webpack默认的打包入口路径是从./src/index.js开始的打包后的文件默认输出位置为./dist/main.js。 Webpack 配置影响 Webpack 打包过程 步骤 项目根目录新建 Webpack.config.js 配置文件 导出配置对象配置入口出口文件路径别忘了修改磁盘文件夹和文件的名字 const path require(path)module.exports {entry: path.resolve(__dirname, src/login/index.js),output: {path: path.resolve(__dirname, dist),filename: ./login/index.js }
}重新打包就能发现效果
案例-用户登录-长度判断
目标
体验前端项目代码如何被 Webpack 打包和使用
讲解 需求点击登录按钮判断手机号和验证码长度是否符合要求 步骤 新建 public/login.html 准备网页模板方便查找标签和后期自动生成 html 文件做准备 核心 JS 代码写在 src/login/index.js 文件 /*** 目标3用户登录-长度判断案例* 3.1 准备用户登录页面* 3.2 编写核心 JS 逻辑代码* 3.3 打包并手动复制网页到 dist 下引入打包后的 js运行*/
// 3.2 编写核心 JS 逻辑代码
document.querySelector(.btn).addEventListener(click, () {const phone document.querySelector(.login-form [namemobile]).valueconst code document.querySelector(.login-form [namecode]).valueif (!checkPhone(phone)) {console.log(手机号长度必须是11位)return}if (!checkCode(code)) {console.log(验证码长度必须是6位)return}console.log(提交到服务器登录...)
})运行自定义命令让 Webpack 打包 JS 代码 手动复制 public/login.html 到 dist 下手动引入打包后的 JS 代码文件运行 dist/login.html 在浏览器查看效果
小结
由于Webpack默认只会打包js资源html并不会打包进入生成的打包js会放在dist中html要想调用打包后的js也需要放到dist文件夹中并且通过script引入js。
Webpack 自动生成 html 文件 让 Webpack 拥有自动生成 html 文件能力并引入打包后的其他资源 插件 html-webpack-plugin 作用在 Webpack 打包时生成 html 文件并引入其他打包后的资源 步骤 下载 html-webpack-plugin 本地软件包到项目中 npm i html-webpack-plugin --save-dev配置 webpack.config.js 让 Webpack 拥有插件功能 // ...
const HtmlWebpackPlugin require(html-webpack-plugin)module.exports {// ...plugins: [new HtmlWebpackPlugin({template: ./public/login.html, // 模板文件filename: ./login/index.html // 输出文件在dist中})]
}指定以 public/login.html 为模板复制到 dist/login/index.html并自动引入其他打包后资源所以在dist中自动生成的html文件中对js等资源的引用并不需要去修改。 运行打包命令观察打包后 dist 文件夹下内容并运行查看效果