从CRA构建创建npm软件包

时间:2019-05-21 07:22:13

标签: node.js reactjs npm webpack create-react-app

我们正在尝试创建一个微型前端应用,我们希望每个微型应用(使用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后,我试图导入它并收到许多错误,例如:

enter image description here

我认为我的webpack.config中缺少某些内容,或者有另一种方法来获取所有/ build文件夹并将其组合为可以作为npm包发布并正确导入的内容?

任何帮助将不胜感激!

谢谢!

0 个答案:

没有答案