0%

将 mpvue 项目打包成 HTML 和 Electron

项目内使用,可支持写一次 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为语言,可选redblue`

Visual Studio Code 运行方法

  • 可以在 Visual Studio CodeDebug 侧边栏直接点击运行 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 与 小程序有较多不同之处