vite-plugin-modules
Version:
A vite plugin for import modules on demand, 一个Vite按需加载插件。
27 lines (23 loc) • 696 B
JavaScript
const { transformSync } = require('@babel/core');
const importMeta = require('@babel/plugin-syntax-import-meta');
const babelPluginImport = require('babel-plugin-import');
function vitePluginImport(options) {
return {
name: 'vite-plugin-modules',
transform(code, id) {
if (/\.(?:[jt]sx?|vue)$/.test(id) && !/node_modules\/vite/.test(id)) {
const plugins = [importMeta, [babelPluginImport, options]];
const result = transformSync(code, {
ast: true,
plugins,
sourceFileName: id,
});
return {
code: result.code,
map: result.map,
};
}
},
};
};
module.exports = vitePluginImport;