Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
Back to tool/Back to issues
#1734·yapi

自定义插件无法编译

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

View original on GitHubView discussion on GitHub