Appearance
支持es-module-package
由于社区许多npm包采用esm(es module)写之后 项目需要兼容esm和cjs(commonjs) 两种包结构
使用@nest/cli的创建的nestjs项目会使用webpack-node-externals将node_modules包排出转换cjs引入打包之后会转换成这样
js
module.exports = require("@nestjs/common");
esm 的包也会转换为
js
module.exports = require("parse-json");
我们需要把esm的包转换为cjs才能使用
我们直接把esm打包文件里转换为cjs就可以使用了 直接覆盖nestjs的默认webpack配置文件 // webpack.config.js
js
const nodeExternals = require('webpack-node-externals');
module.exports = function (options, webpack) {
return {
...options,
externals: [
nodeExternals({
allowlist: [/^parse-json/i],
}),
],
}