原生小程序迁移到 wxa

wxa提供了一个方便好用的cli工具,使用cli可以从源站(目前是github)拉取手脚架,快速开始小程序开发。

注意

请注意node.js版本 >= 8.15.0

现有项目

原有的小程序项目可以不改动代码的情况下快速迁移到wxa下!只需要稍微加配置,旧的小程序项目一样可以享受@wxa提供的便利~

注意

迁移项目到wxa前注意备份代码, 方便迁移失败回退。例如git checkout -b backup

注意

请注意node.js版本 >= 8

1. 安装Cli

  1. # 全局安装@wxa/cli
  2. npm i -g @wxa/cli2

2. 安装项目依赖

注意

如果之前没有接入npm,则先运行npm init初始化。

  1. # 打开项目目录
  2. # cd path/to/your/project/
  3. # 安装依赖
  4. npm i @wxa/core @wxa/plugin-replace @wxa/plugin-uglifyjs @wxa/compiler-babel @wxa/compiler-sass babel-eslint @babel/preset-env @babel/plugin-transform-runtime @babel/runtime @babel/plugin-proposal-class-properties @babel/plugin-proposal-decorators cross-env

3. 添加配置

添加wxa.config.js到项目目录

  1. const path = require('path');
  2. const UglifyjsPlugin = require('@wxa/plugin-uglifyjs');
  3. const ReplacePlugin = require('@wxa/plugin-replace');
  4. let prod = process.env.NODE_ENV === 'production';
  5. const env = process.env.NODE_ENV || 'development';
  6. // 生产和测试环境参数配置
  7. const envlist = require('./app.config')[env];
  8. module.exports = {
  9. // 指定微信开发者工具的目录,用于从cli调用其接口
  10. wechatwebdevtools: '/Applications/wechatwebdevtools.app',
  11. // 解析配置
  12. resolve: {
  13. alias: {
  14. '@': path.join(__dirname, 'src'),
  15. },
  16. },
  17. // 使用到的compiler
  18. use: [
  19. {
  20. test: /\.js$|\.wxs$/,
  21. name: 'babel',
  22. options: {
  23. "sourceMap": false,
  24. "presets": ["@babel/preset-env"],
  25. "plugins": [
  26. ["@babel/plugin-transform-runtime", {"corejs": false, "version": "7.1.2"}],
  27. ["@babel/plugin-proposal-decorators", {"decoratorsBeforeExport": true}],
  28. ["@babel/plugin-proposal-class-properties"]
  29. ],
  30. "ignore": [
  31. "node_modules"
  32. ]
  33. }
  34. }, {
  35. test: /\.sass$|\.scss$/,
  36. name: 'sass',
  37. }
  38. ],
  39. // 使用到的plugins
  40. plugins: [
  41. new ReplacePlugin({
  42. list: envlist,
  43. }),
  44. ],
  45. };
  46. if (prod) {
  47. module.exports.plugins.push(new UglifyjsPlugin());
  48. }

4. 编译项目

  1. # watch模式编译项目
  2. wxa2 build --watch

4. 从微信开发者工具打开

在微信开发者工具中填入小程序appid,把目录指向path/to/your/project/dist。然后就可以开始wxa项目开发了!