我们正在尝试创建一个微型前端应用,我们希望每个微型应用(使用CRA创建)都可以运行 npm运行构建 在这个应用程序上,取出创建的/ build文件夹,然后制作一个npm软件包,并将其发布到我们的npm存储库中。
我们不想让应用程序项目能够编辑webpack.config。
我们更愿意采用/ build并将其再次通过webpack传递(甚至在其他项目中),以便获得可以用作npm包并可以正确发布并导入到新项目的输出。
我正在尝试通过以下方式进行操作:/ build文件夹,并使用以下配置在Webpack上运行它:
const path = require("path");
const UglifyJsPlugin = require("uglifyjs-webpack-plugin");
const glob = require("glob");
module.exports = {
entry: {
"bundle.js": glob
.sync("build/static/?(js|css)/main.*.?(js|css)")
.map(f => path.resolve(__dirname, f))
},
output: {
filename: "build/static/js/bundle.min.js",
libraryTarget: "commonjs2"
},
module: {
rules: [
{
test: /\.css$/,
use: ["style-loader", "css-loader"]
}
]
},
plugins: [new UglifyJsPlugin()],
resolve: {
alias: {
src: path.join(__dirname, "./src")
}
},
externals: {
react: "commonjs react"
}
};
结果是单个js。将其发布到npm后,我试图导入它并收到许多错误,例如:
我认为我的webpack.config中缺少某些内容,或者有另一种方法来获取所有/ build文件夹并将其组合为可以作为npm包发布并正确导入的内容?
任何帮助将不胜感激!
谢谢!