命令行创建uniapp项目
除了使用HBuilderX
工具可视化搭建项目外,DCloud
官方还提供了一个脚手架用于命令行搭建项目。
环境安装
全局安装vue-cli
npm i @vue/cli@4 -g
建议使用vue-cli 4.x
版本,vue-cli 5.x
与webpack
存在冲突,会导致运行报错
创建项目
使用vue-cli
安装预设模板。
vue create -p dcloudio/uni-preset-vue projectName
dcloud
提供了多个预设版本
# 对应HBuilderX最新alpha版
vue create -p dcloudio/uni-preset-vue#alpha projectName
# 使用Vue3/Vite js版本
npx degit dcloudio/uni-preset-vue#vite my-vue3-project
# 使用Vue3/Vite ts版本
npx degit dcloudio/uni-preset-vue#vite-ts my-vue3-project
之后按照提示选择对应的项目模板即可。
打包
比起在hbuilder
里直接点击压缩打包而言,package.json
默认script
里边的打包命令是不带压缩的,可以在对应的打包命令中添加--minimize
后缀。
比如:
"dev:mp-weixin": "cross-env NODE_ENV=development UNI_PLATFORM=mp-weixin vue-cli-service uni-build --watch --minimize",
但是对比起hbuilder
里打包出来的压缩包而言体积还是偏大,这时候看压缩出来的代码可以发现里边携带了非常多注释,可以在项目根目录中配置vue.config.js
文件在打包中删除掉。
文件里携带了非常的注释,导致体积增大:
使用terser-webpack-plugin
插件移除注释跟console
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
module.exports = {
configureWebpack: {
optimization: {
minimizer: [
new UglifyJsPlugin({
uglifyOptions: {
output: {
comments: false,
},
// 删除console
compress: {
drop_console: true,
pure_funcs: ['console.log'],
},
},
}),
],
}
},
};
最终的文件中就没有携带注释了,体积显著降低:
微信小程序项目集成miniprogram-ci
使用vue-cli
创建的项目存在多个打包命令,我们只看打包微信小程序的。
npm run build:mp-weixin
运行成功后会再项目中生成一个dist
目录,里边存在build/mp-weixin
项目,就是打包编译后微信小程序代码。可以直接在微信开发者工具中运行,也可以通过miniprogram-ci
通过命令行的形式上传或者预览。
详情可以查看miniprogram-ci的介绍或者是miniprogram-ci 使用说明
注意事项
安装sass
如果项目中使用到了scss
文件,那么在执行时会提示缺少node-sass
模块,这时候不用管这个,node-sass
已被弃用,直接安装sass
即可。