Enhanced Wechat App Development Toolkit (微信小程序加強開發工具)javascript
項目地址:https://github.com/lyfeyaj/ewa,歡迎試用 ~css
喜歡麼?或者對您有用? ☞ 當即去 ⭐️ Star ⭐️ 一下 ☞html
厭倦了不停的對比 wepy 或者 mpvue 的特性,間歇性的踩雷,以及 code once, run everywhere
的幻想。只想給小程序開發插上效率的翅膀 ~vue
更多特性正在趕來 ... 敬請期待 👇java
須要 node 版本 >= 8node
npm i -g ewa-cli 或者 yarn global add ewa-cli
ewa new your_project_name
注意:使用此方法,請務必對項目代碼作好備份!!!webpack
cd your_project_dir && ewa init
運行 npm start
便可啓動實時編譯git
運行 npm run build
便可編譯線上版本(相比實時編譯而言,去除了 source map 並增長了代碼壓縮混淆等,體積更小)github
上述命令運行成功後,能夠看到本地多了個 dist
目錄,這個目錄裏就是生成的小程序相關代碼。web
使用微信開發者工具選擇 dist
目錄打開,便可預覽項目
├── .ewa 特殊佔位目錄,用於檢查是否爲 ewa 項目 ├── dist 小程序運行代碼目錄(該目錄由ewa的start 或者 build指令自動編譯生成,請不要直接修改該目錄下的文件) ├── node_modules 外部依賴庫 ├── src 代碼編寫的目錄(該目錄爲使用ewa後的開發目錄) │ ├── components 小程序組件目錄 │ ├── pages 小程序頁面目錄 │ │ ├── index │ │ │ ├── index.js │ │ │ ├── index.wxml │ │ │ └── index.wxss │ │ └── logs │ │ ├── logs.js │ │ ├── logs.json │ │ ├── logs.wxml │ │ └── logs.wxss │ ├── templates 小程序模版目錄 │ ├── utils │ │ └── util.js │ ├── app.js 小程序入口文件 │ ├── app.json 小程序全局配置文件 │ ├── app.wxss 小程序全局樣式文件 │ └── project.config.json 微信開發者工具小程序項目配置文件 ├── ewa.config.js ewa 配置文件 ├── .gitignore ├── .eslintrc.js eslint 配置 └── package.json
ewa <cmd> [args] 命令: ewa new <projectName> 建立新的微信小程序項目 [別名: create] ewa init 在現有的小程序項目中初始化 EWA ewa start 啓動 EWA 小程序項目實時編譯 [別名: dev] ewa build 編譯小程序靜態文件 ewa clean 清理小程序靜態文件 ewa upgrade 升級 EWA 工具 ewa generate <type> <name> 快速生成模版 [別名: g] 選項: --version, -v 當前版本號 [布爾] --help, -h 獲取使用幫助 [布爾]
const { wx } = require('ewa'); Page({ async onLoad() { let { data } = await wx.request({ url: 'http://your_api_endpoint' }); } })
ewa 經過 ewa.config.js
來支持個性化配置。以下所示:
// ewa.config.js module.exports = { // 公用代碼庫 (node_modules 打包生成的文件)名稱,默認爲 vendors.js commonModuleName: 'vendors.js', // 通用模塊匹配模式,默認爲 /[\\/](node_modules|utils|vendor)[\\/].+\.js/ // 如需添加多個文件夾,可自定義正則,如 /[\\/](node_modules|utils|custom_dirname)[\\/].+\.js/ commonModulePattern: /[\\/](node_modules|utils|vendor)[\\/].+\.js/, // 是否簡化路徑,做用於 page 和 component,如 index/index.wxml=> index.wxml,默認爲 false simplifyPath: false, // 文件夾快捷引用 aliasDirs: [ 'apis', 'assets', 'constants', 'utils' ], // 須要拷貝的文件類型 copyFileTypes: [ 'png', 'jpeg', 'jpg', 'gif', 'svg', 'ico' ], // webpack loader 規則 rules: [], // webpack 插件 plugins: [], // 開發環境下是否自動清理無用文件,默認爲 true autoCleanUnusedFiles: true, // css 解析器,sass 或者 less,默認爲 sass cssParser: 'sass', // 嫌不夠靈活?直接修改 webpack 配置 webpack: function(config) { return config; } };
@
來代替 源代碼根目錄 來引入代碼或樣式,如 const utils = require('@/utils/util')
~
符號,如:@import "~@/assets/styles/common.scss";
,具體緣由參見: sass-loader