dependencies: { ‘./message.js’: ‘./src\message.js’ }
下面时配置代码:
const fs = require(‘fs’)
const parser = require(’@babel/parser’)
const path = require(‘path’)
const traverse = require(’@babel/traverse’).default
const babel = require(’@babel/core’)
const muduleAnalyser = (filename) => {
const content = fs.readFileSync(filename, ‘utf-8’)
const ast = parser.parse(content, {
sourceType: ‘module’
})
const dependencies = {}
traverse(ast, {
ImportDeclaration ({ node }) {
const dirname = path.dirname(filename)
const newFile = ‘./’ + path.join(dirname, node.source.value)
dependencies[node.source.value] = newFile
}
})
const { code } = babel.transformFromAst(ast, null, {
presets: [’@babel/preset-env’]
})
return {
filename,
dependencies,
code
}
}
const moduleInfo = muduleAnalyser(’./src/index.js’)
console.log(moduleInfo)