自定义插件无法编译
Author: griffenliuCreated Apr 29, 2020Updated Jan 28, 2026
版本号
1.9.1
什么问题
编译时无法编译自定义插件
如何复现此问题
exts目录下的插件,把index.js中的代码设置为: server: true, client: false
什么浏览器
Firefox
什么系统(Linux, Windows, macOS)
Linux
二次开发时,在exts目录自定义了一个插件,index.js代码设置如下:
module.exports = {
server: true,
client: false
};在使用ykit pack -m进行生产编译时发现插件无法编译进去。检查ykit.config.js的代码如下:
function initPlugins(configPlugin) {
configPlugin = require('../config.json').plugins;
var systemConfigPlugin = require('./common/config.js').exts;
console.log(systemConfigPlugin);
var scripts = [];
if (configPlugin && Array.isArray(configPlugin) && configPlugin.length) {
configPlugin = commonLib.initPlugins(configPlugin, 'plugin');
configPlugin.forEach(plugin => {
if (plugin.client && plugin.enable) {
scripts.push(createScript(plugin, 'node_modules'));
}
});
}
systemConfigPlugin = commonLib.initPlugins(systemConfigPlugin, 'ext');
console.log(systemConfigPlugin);
systemConfigPlugin.forEach(plugin => {
if (plugin.client && plugin.enable) {
scripts.push(createScript(plugin, 'exts'));
}
});
scripts = 'module.exports = {' + scripts.join(',') + '}';
fs.writeFileSync('client/plugin-module.js', scripts);
}个人觉得是如下代码影响: if (plugin.client && plugin.enable) {
Source: YMFE/yapi