项目内使用,可支持写一次 Vue,部署到小程序、浏览器、Electron 上。
项目地址:[https://github.com/youngcube/mpvue-html-electron-typescript-starter]
Features:
- 使用
TypeScript(感谢 @WingGao)[https://github.com/WingGao/mpvue-ts-demo] - 支持
vue-router写法(感谢 @F-loat)[https://github.com/F-loat/mpvue-router-patch] - 支持直接打包输出为 小程序 与 HTML、支持热更新
- 如果有多个类似项目,支持一键导出这些项目
- 配置完善的
Visual Studio Code参数,可直接在Visual Studio Code内点击运行并在Visual Studio Code内断点调试 HTML
编译
1 | yarn |
或者
1 | npm install |
运行
支持在命令行运行,或直接
Visual Studio Code点击运行
命令行运行方法
浏览器
npm run dev:web小程序
npm run dev:wechat:red,其中:red为语言,可选red、blue`
Visual Studio Code 运行方法
- 可以在
Visual Studio Code的Debug侧边栏直接点击运行Run & Debug Web/Run Wechat等 - 其中
Run & Debug Web支持直接运行需要的npm命令,并在服务启动后自动打开Chrome并在Visual Studio Code内直接进行调试;此时运行的 Chrome 为隐私模式,无任何 Chrome 插件 - 其中
Attach Chrome Port 9222需要手工在 Terminal 运行 Chrome:/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222;此时运行的 Chrome 会带有 Chrome 自己的所有插件。 - 小程序必须使用它的框架开发者工具包,不支持上述简便调试方法。必须在
微信开发者工具内调试 - 其中
Launch Webpack ...可用于调试Webpack的打包问题
打包
浏览器(打包 red 项目)
npm run build:web:red
小程序(打包 blue 项目)
npm run build:wechat:blue
IDE
- 推荐使用
Visual Studio Code,并安装本工程推荐的所有依赖,这样可以直接按指定的(ESLint)标准格式进行保存,同时可以直接在Visual Studio Code内进行调试 Web 页面
Vue Single File Components (SFC)
- 不要在 SFC 内的
<script>标签 和<style>标签直接写 TypeScript / JavaScript / LESS,请新建文件然后用src引入。因为内部的<script>标签不支持直接写 TypeScript(写了以后无法渲染 components);IDE 目前也不支持 *.vue 内的 TypeScript 检查组件属性类型。因此尽可能使用src/@import引入。这样也方便重构。
入口
- 浏览器:
app-web.vue,main-web.ts - 小程序:
app-web.vue,main.ts
其他注意事项
目前(2018.08) mpvue 不支持 webpack 4 issue98。请勿随意使用 yarn 升级,可能导致小程序或 H5 端编不过或其他奇怪的问题
使用
wx来判断是否在小程序环境内请注意 HTML 与 小程序有较多不同之处