W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
支付寶小程序原生支持引入第三方 npm 模塊。因此,自定義組件也支持發(fā)布到 npm,方便開(kāi)發(fā)者復(fù)用和分享。
以下是發(fā)布自定義組件的推薦文件結(jié)構(gòu),僅供參考 。
├── src // 單個(gè)自定義組件文件夾
│ ├── index.js
│ ├── index.json
│ ├── index.axml
│ ├── index.acss
│ └── demo // 自定義組件的演示 Demo 文件夾
│ ├── index.js
│ ├── index.json
│ ├── index.axml
│ └── index.acss
├── app.js // 為自定義組件小程序 Demo 配置 app.js 文件
├── app.json
└── app.acss
// package.json
{
"name": "your-custom-compnent",
"version": "1.0.0",
"description": "your-custom-compnent",
"repository": {
"type": "git",
"url": "your-custom-compnent-repository-url"
},
"files": [
"es"
],
"keywords": [
"custom-component",
"mini-program"
],
"devDependencies": {
"rc-tools": "6.x"
},
"scripts": {
"build": "rc-tools run compile && node scripts/cp.js && node scripts/rm.js",
"pub": "git push origin && npm run build && npm publish"
}
}
// scripts/cp.js
const fs = require('fs-extra');
const path = require('path');
// copy file
fs.copySync(path.join(__dirname, '../src'), path.join(__dirname, '../es'), {
filter(src, des){
return !src.endsWith('.js');
}
});
// scripts/rm.js
const fs = require('fs-extra');
const path = require('path');
// remove unnecessary file
const dirs = fs.readdirSync(path.join(__dirname, '../es'));
dirs.forEach((item) => {
if (item.includes('app.') || item.includes('DS_Store') || item.includes('demo')) {
fs.removeSync(path.join(__dirname, '../es/', item));
} else {
const moduleDirs = fs.readdirSync(path.join(__dirname, '../es/', item));
moduleDirs.forEach((item2) => {
if (item2.includes('demo')) {
fs.removeSync(path.join(__dirname, '../es/', item, item2));
}
});
}
});
fs.removeSync(path.join(__dirname, '../lib/'));
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: