如何将现有的 CRA 应用程序发布到 npm(any) 存储库?
How to publish existing CRA application to npm(any) repository?
我有一个工作应用程序,包含多个使用 create-react-app 创建的组件,每个组件本身都是一个单独的应用程序,再次使用 create-react-app 创建。
弹出所有组件,以便我可以将它们集成在一起。
现在,我想将组件发布到 NPM/Private 存储库,但根据 CRA 部署指南,它不支持直接开箱即用地发布基于 CRA 的组件,它建议使用 nwb,但我无法弄清楚如何使用 nwb 发布“现有”组件。
我还查看了其中一种媒体 post,它建议使用 babel-cli 生成 dist/build 文件,但对于某些 babel 配置来说,这是失败的,否则效果很好。(抱歉,目前没有 link,因为我正在 post 从手机上下载。
感谢任何帮助。
你可以使用babel-cli
npm package来编译你的react应用程序代码,然后你可以使用npm publish
命令发布它,详细步骤如下。
使用 npm install babel-cli
命令在你的 create-react-app 中安装 babel-cli 包。
创建.babelrc
文件并添加以下内容以使用babel提供的"react-app"预设。
{
"presets": [["react-app"]],
}
- 使用以下代码在
package.json
中添加distribute
命令,此命令将代码从src
文件夹编译到dist
文件夹。通常,我不会在已发布的库中包含我的测试文件,因此 --ignore
参数会跳过 *spec.js and *test.js
等测试文件,此参数是可选的,如果您想包含,可以删除 --ignore spec.js,test.js
在您发布的库中测试文件。 --source-maps
参数包括包含的源文件的源映射:
"distribute": "set NODE_ENV=production&&babel src --out-dir dist --copy-files --ignore spec.js,test.js --source-maps"
- 执行命令
npm run distribute
将在 dist
文件夹中生成文件。
- 在 package.json 中设置
private: false
以供发布
- 使用以下命令设置分发包的主文件,在我的例子中我直接使用
App.js
"main": "dist/App.js"
- 添加以下用于发布程序包的代码并提供与存储库相关的详细信息
"publishConfig": {
"registry": ""
}
- 您可以使用
npm run publish
命令将您的 React 应用程序源代码作为库分发。
我有一个工作应用程序,包含多个使用 create-react-app 创建的组件,每个组件本身都是一个单独的应用程序,再次使用 create-react-app 创建。
弹出所有组件,以便我可以将它们集成在一起。
现在,我想将组件发布到 NPM/Private 存储库,但根据 CRA 部署指南,它不支持直接开箱即用地发布基于 CRA 的组件,它建议使用 nwb,但我无法弄清楚如何使用 nwb 发布“现有”组件。
我还查看了其中一种媒体 post,它建议使用 babel-cli 生成 dist/build 文件,但对于某些 babel 配置来说,这是失败的,否则效果很好。(抱歉,目前没有 link,因为我正在 post 从手机上下载。
感谢任何帮助。
你可以使用babel-cli
npm package来编译你的react应用程序代码,然后你可以使用npm publish
命令发布它,详细步骤如下。
使用
npm install babel-cli
命令在你的 create-react-app 中安装 babel-cli 包。创建
.babelrc
文件并添加以下内容以使用babel提供的"react-app"预设。
{
"presets": [["react-app"]],
}
- 使用以下代码在
package.json
中添加distribute
命令,此命令将代码从src
文件夹编译到dist
文件夹。通常,我不会在已发布的库中包含我的测试文件,因此--ignore
参数会跳过*spec.js and *test.js
等测试文件,此参数是可选的,如果您想包含,可以删除--ignore spec.js,test.js
在您发布的库中测试文件。--source-maps
参数包括包含的源文件的源映射:
"distribute": "set NODE_ENV=production&&babel src --out-dir dist --copy-files --ignore spec.js,test.js --source-maps"
- 执行命令
npm run distribute
将在dist
文件夹中生成文件。 - 在 package.json 中设置
private: false
以供发布 - 使用以下命令设置分发包的主文件,在我的例子中我直接使用
App.js
"main": "dist/App.js"
- 添加以下用于发布程序包的代码并提供与存储库相关的详细信息
"publishConfig": {
"registry": ""
}
- 您可以使用
npm run publish
命令将您的 React 应用程序源代码作为库分发。