本页目录
使用 Vite 打包我们的项目用 JS 和 CSS 代码,可以让我们通过模块化方式来进行开发,还能享受到各种 npm 功能模块带来的好处。
情景再现
小恩在开发三个单页(a.html,b.html,c.html),一开始,小恩为了方便,就给三个单页,准备三个 JS 文件,a.js,b.js,c.js,分别在页面中进行引入。
但是,他知道,每一个网络请求都是很宝贵的,为了进一步提升网页加载速度,他每次开发完代码后,就将这三个 JS 文件手动复制黏贴在一个 main.js 文件中,然后给三个页面导入。
但是业务需求一变再变,小恩在一次次复制黏贴中迷失自我, 而且,随着这三个页面用 JS 文件的代码越来越多,每次开发时,小恩都要从 256 行跳转到 1262 行,时不时还要通过搜索来查相关功能函数。
这样太不方便了。
是时候用 Vite 来提升工作效率了!!!
准备环境
请通过以下教程安装 Node ,掌握终端的基本操作,并配置 cnpm
然后打开控制终端(Shit+鼠标右键,选择 shell),输入以下命令,让我们下载文件更快
npm install -g cnpm --registry=https://registry.npmmirror.com下面我会继续使用 npm 来示范,但我更推荐您使用 cnpm ,这样能更快。
文件目录
在桌面上创建如下结构的项目文件夹
project ├── index.js ├── package.json ├── src │ ├── css │ │ ├── a.css │ │ └── b.css │ ├── js │ │ ├── a.js │ │ └── b.js │ ├── main.js │ └── style.css └── vite.config.js其中代码的文件如下“
Index.js
//index.js //导入js文件 import "./src/main.js"; //导入css文件 import "./src/style.css"; main.js
//main.js import "./js/a.js"; import "./js/b.js"; alert("不错哦,加载了!"); style.css
/*style.css*/ @import './css/a.css'; @import './css/b.css'; body{ background-color: red; } package.json
你可以通过中终端中执行以下命令,快速创建 package.json 文件
npm init -y当然,您也可以直接使用我提供的文件
{ "name": "project", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "dev": "vite", "build": "vite build", "test": "echo "Error: no test specified" && exit 1" }, "keywords": [], "author": "", "license": "ISC" } 添加了两个 npm 快捷命令
vite.config.js
//vite.config.js const path = require("path"); module.exports = { plugins: [], build: { rollupOptions: { input: path.resolve(__dirname, "./index.js"), output: { entryFileNames: "index.js",// 打包的文件名 chunkFileNames: "[name].js",// 代码分割后的文件名 assetFileNames: "[name][extname]",// 资源文件的文件名 }, }, }, }; rollupOptions.input 表示入口文件路径。
进行开发
您可以按照上述类似的代码逻辑,撰写自己的 css 和 js 文件,进行导入操作,然后运行以下命令对文件进行打包
npm run build打包后的结果如下:
dist ├── index.css └── index.js现在,您只需要将这两个文件导入您的页面中,即可看到相关效果。
当然,您还可以借助更多 npm 相关的工具进一步优化您的打包流程,如清理重复的 css 之类的。此处不再赘述。
预览开发
若您想通过在当前项目的页面上,开发 css 和 js 文件,快速验证您的想法,您可以在项目目录下新建 index.html 文件,写入以下代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>页面开发测试用首页</title> </head> <body> <script type="module" src="/src/main.js"></script> 开始撰写我的页面代码 <div class="list"> 5555 </div> </body> </html>我们还需要修改 main.js 文件,引入我们的 css 文件。
//main.js import "./js/a.js"; import "./js/b.js"; import "./style.css"; alert("不错哦,加载了!"); 现在,您可以在当前项目中运行以下命令
npm run dev根据提示打开网址,即可在第一时间查看您的代码效果。
在开发完毕后,将打包后的文件载入页面即可。
最后
现在,小恩开发项目就舒服多了,他根据不同的功能将代码写在不同的 JS 文件中,在线观察效果,开发完毕后打包,代码和注释顺便也压缩了,在页面中载入打包后的文件即可。 大大提升了工作效率,可以早点回家吃晚饭咯!