uni-app
https://uniapp.dcloud.io/quickstart?id=cli%E4%BD%BF%E7%94%A8%E6%B3%A8%E6%84%8F
官网
https://uniapp.dcloud.io/
文档
http://ask.dcloud.net.cn/docs/
HBuilderX外部命令,可以做哪些有趣的事情?
https://www.jianshu.com/p/b64bfbbef0fd
vue-cli
https://cli.vuejs.org/zh/guide/deployment.html#%E9%80%9A%E7%94%A8%E6%8C%87%E5%8D%97
工具版本
sudo npm install -g @vue/cli
vue 3.8.2
npm 6.4.1
清除缓存
sudo npm cache clean --force
安装yarn
sudo npm install -g yarn
yarn 1.16.0
安装源管理工具
sudo npm install -g nrm
查看npm源
sudo nrm ls
切换npm源为npm
sudo nrm use npm
网上的命令行创建项目
https://www.jianshu.com/p/bdf4781eaa69
自动构建
使用命令行创建uni-app项目
vue create -p dcloudio/uni-preset-vue test
命令行构建需要依赖两个插件uniapp-cli和weapp-tools
把这两个插件做个软链,放到跟项目平级的目录
项目中使用命令
npm run build:app-plus
命令行构建版本2.0.0
2.0.0用命令行创建完项目后在package.json中少了两个依赖,在编译时报错,加上后可以正常编译
"less": "^3.9.0",
"less-loader": "^5.0.0",
命令行创建后多出来几个文件
src目录
用于存放在HBuilderX的整个项目,项目拷贝到这个目录后就可以通过命令构建了
构建命令
npm run build:app-plus
babel.config.js
const plugins = []
if (process.env.UNI_PLATFORM === 'app-plus' && process.env.UNI_USING_V8) {
const path = require('path')
const isWin = /^win/.test(process.platform)
const normalizePath = path => (isWin ? path.replace(/\\/g, '/') : path)
const input = normalizePath(process.env.UNI_INPUT_DIR)
try {
plugins.push([
require('@dcloudio/vue-cli-plugin-hbuilderx/packages/babel-plugin-console'),
{
file (file) {
file = normalizePath(file)
if (file.indexOf(input) === 0) {
return path.relative(input, file)
}
return false
}
}
])
} catch (e) {}
}
process.UNI_LIBRARIES = process.UNI_LIBRARIES || ['@dcloudio/uni-ui']
process.UNI_LIBRARIES.forEach(libraryName => {
plugins.push([
'import',
{
'libraryName': libraryName,
'customName': (name) => {
return `${libraryName}/lib/${name}/${name}`
}
}
])
})
module.exports = {
presets: [
[
'@vue/app',
{
modules: 'commonjs',
useBuiltIns: 'entry'
}
]
],
plugins
}
postcss.config.js
const pkg = require('./package.json')
module.exports = {
plugins: [
require('postcss-import'),
require('autoprefixer')({
browsers: pkg.browserslist
}),
require('@dcloudio/vue-cli-plugin-uni/packages/postcss')
]
}
package.json
{
"name": "park-market-manager",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "npm run dev:h5",
"build": "npm run build:h5",
"build:app-plus": "cross-env NODE_ENV=production UNI_PLATFORM=app-plus vue-cli-service uni-build",
"build:h5": "cross-env NODE_ENV=production UNI_PLATFORM=h5 vue-cli-service uni-build",
"build:mp-alipay": "cross-env NODE_ENV=production UNI_PLATFORM=mp-alipay vue-cli-service uni-build",
"build:mp-baidu": "cross-env NODE_ENV=production UNI_PLATFORM=mp-baidu vue-cli-service uni-build",
"build:mp-toutiao": "cross-env NODE_ENV=production UNI_PLATFORM=mp-toutiao vue-cli-service uni-build",
"build:mp-weixin": "cross-env NODE_ENV=production UNI_PLATFORM=mp-weixin vue-cli-service uni-build",
"dev:app-plus": "cross-env NODE_ENV=development UNI_PLATFORM=app-plus vue-cli-service uni-build --watch",
"dev:h5": "cross-env NODE_ENV=development UNI_PLATFORM=h5 vue-cli-service uni-serve",
"dev:mp-alipay": "cross-env NODE_ENV=development UNI_PLATFORM=mp-alipay vue-cli-service uni-build --watch",
"dev:mp-baidu": "cross-env NODE_ENV=development UNI_PLATFORM=mp-baidu vue-cli-service uni-build --watch",
"dev:mp-toutiao": "cross-env NODE_ENV=development UNI_PLATFORM=mp-toutiao vue-cli-service uni-build --watch",
"dev:mp-weixin": "cross-env NODE_ENV=development UNI_PLATFORM=mp-weixin vue-cli-service uni-build --watch",
"info": "node node_modules/@dcloudio/vue-cli-plugin-uni/commands/info.js"
},
"dependencies": {
"@babel/polyfill": "^7.4.4",
"@dcloudio/uni-app-plus": "*",
"@dcloudio/uni-h5": "*",
"@dcloudio/uni-mp-alipay": "*",
"@dcloudio/uni-mp-baidu": "*",
"@dcloudio/uni-mp-toutiao": "*",
"@dcloudio/uni-mp-weixin": "*",
"flyio": "^0.6.2",
"less": "^3.9.0",
"less-loader": "^5.0.0",
"regenerator-runtime": "^0.12.1",
"vue": "^2.6.10",
"vuex": "^3.1.0"
},
"devDependencies": {
"@dcloudio/uni-cli-shared": "*",
"@dcloudio/uni-template-compiler": "*",
"@dcloudio/vue-cli-plugin-hbuilderx": "latest",
"@dcloudio/vue-cli-plugin-uni": "latest",
"@dcloudio/webpack-uni-mp-loader": "*",
"@dcloudio/webpack-uni-pages-loader": "*",
"@types/html5plus": "*",
"@types/uni-app": "*",
"@vue/cli-plugin-babel": "3.5.1",
"@vue/cli-service": "^3.6.0",
"babel-plugin-import": "^1.11.0",
"node-sass": "^4.11.0",
"sass-loader": "^7.1.0",
"vue-template-compiler": "^2.5.21",
"weex-vue-loader": "^0.7.0"
},
"browserslist": [
"last 3 versions",
"Android >= 4.4",
"ios >= 8"
]
}