filesbox/miniprogram/FilesBox/node_modules/mp-html/plugins/template/build.js

66 lines
2.0 KiB
JavaScript
Raw Normal View History

2023-09-21 02:23:31 +00:00
/**
* @description 插件构建文件模板
*/
module.exports = {
/**
* @description 入口文件
* @type {String}
* @default 'index.js'
*/
main: 'index.js',
/**
* @description 支持的平台
* @type {String[]}
* @default ['mp-weixin','mp-qq','mp-baidu','mp-alipay','mp-toutiao','uni-app']
*/
platform: ['mp-weixin', 'mp-qq', 'mp-baidu', 'mp-alipay', 'mp-toutiao', 'uni-app'],
/**
* @description 要被添加到模板文件中的标签将被添加到 src/node/node.wxml
* 必须要有 wx:if 表明什么情况下使用该标签
* n 表示标签结构体<node> 标签用于递归显示子节点可参考源文件中的写法
* @type {String}
*/
template: '',
/**
* @description 用于处理模板中事件的方法将被添加到 src/node/node.js
* 需要触发顶层组件的事件请使用 this.root.triggerEvent
* @type {Object}
*/
methods: {
},
/**
* @description 用于模板文件的 css 样式将被添加到 src/node/node.wxss
* @type {String}
*/
style: '',
/**
* @description 要被引入到模板文件的 css 文件路径将被添加到 src/node/node.wxss
* @type {String|String[]}
*/
import: [],
/**
* @description 在模板中需要使用的组件或插件列表将被添加到 src/node/node.json
* @type {Object}
*/
usingComponents: {
},
/**
* @description 自定义文件处理器
* 如果上述处理还无法满足要求可以在此方法中进行处理
* 所有 src 目录下的文件和本插件目录下的文件都会经过此方法的处理
* @param {Vinyl} file 关于该文件对象的格式可参考 https://github.com/gulpjs/vinyl#instance-methods
* @param {String} platform 平台
*/
handler (file, platform) {
let content = file.contents.toString()
// 进行处理
if (platform === 'xxx') {
content = content.replace('aaa', 'bbb')
}
file.contents = Buffer.from(content)
}
}