0.1.0 • Published 1 year ago

@dao-style/vue-cli-plugin-shared-utils v0.1.0

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

Intro

封装了一些用于写文件的操作

mainInit

用于检测是否存在 plugin,如果不存在,则确定为未初始化的环境,进行 entryFile 的覆盖行为

const mainInit = require("@dao-style/vue-cli-plugin-shared-utils/lib/mainInit");
mainInit(api) // api => generator api

mainImportInit

合并 mainInit 的功能

/**
 * 在 main.[t|j]s 中进行注入,如果不存,则创建并注入
 * @param {api} api
 * @param {string} importFrom: import xxx from '\<importFrom\>';
 * @param {string} defaultImport: import \<defaultImport\> from '\<importFrom\>';
 * @param {string[]} importList: import \<defaultImport\>, { ...\<importList\> } from '\<importFrom\>';
 * @param {string} usedName: app.use
 */

如 plugin 初始化的时候会自动调用该方法,进行创建注入,在 entryFile 中写入 import 与 app.use 的行为

const mainImportInit = require("@dao-style/vue-cli-plugin-shared-utils/lib/mainImportInit");
mainImportInit(api, './plugins', 'pluginInstall', [], 'pluginInstall') // api => generator api

pluginInit

用于检测是否存在 plugin,如果不存在,则确定为未初始化的环境,进行 plugins 目录的创建与启动 mainImportInit

const pluginInit = require("@dao-style/vue-cli-plugin-shared-utils/lib/pluginInit");
pluginInit(api) // api => generator api

pluginImportInit

合并 pluginInit 的行为,用于在 plugins/index 中写入 import 与 export 并在 installl function 中对 plugin 进行安装行为,因此作为方法接受的参数列表如下:

/**
 * 在 plugins/index 中进行注入,如果不存,则创建并注入
 * @param {api} api
 * @param {string} importFrom: import xxx from '\<importFrom\>';
 * @param {string} defaultImport: import \<defaultImport\> from '\<importFrom\>';
 * @param {string[]} importList: import \<defaultImport\>, { ...\<importList\> } from '\<importFrom\>';
 */
const pluginImportInit = require("@dao-style/vue-cli-plugin-shared-utils/lib/pluginImportInit");
pluginImportInit(api, './vue-i18n', 'i18nInstall', ['loadLanguageAsync']) // api => generator api

如上面进行书写会在 plugins/index 进行以下修改

import i18nInstall, { loadLanguageAsync } from './vue-i18n';

// 原本就有
export default function install(app) {
  ...
  app.use(i18nInstall);
// 原本就有
}

// 原本就有
export {
  ...,
  loadLanguageAsync,
// 原本就有
}

utils

生成一条 import 语句 genImport

生成一条具名导出的表达式 genNamedExport

判断某个 目录/文件 是否存在 isTargetExist

检测 src/plugins 目录是否存在 checkPluginExist