问题标签 [npm-link]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - 如何在多个 React 应用程序之间共享数据?
我正在遵循微服务架构来开发反应应用程序。使用 npm link 在一个主要的反应应用程序中有多个反应和链接项目。哪个成功。
Web api 是在 Asp.net 核心中开发的。这里的概念是 api,react 应用程序在一个项目中,我们将其链接到我们的主要应用程序中。这带来了好处,我们的 api 和字体代码在一个地方。
例如:电子商务网站主要应用在react中。产品模块/订单模块/支付模块是不同项目中的微服务。在 React 主应用程序中都使用 npm 链接进行连接。但我的问题是如何在微服务之间共享数据?
我想在其他应用程序之间共享用户数据/登录信息。通常我们使用上下文 api 将数据传递给组件,但是如果所有组件都在不同的反应应用程序中,这将如何实现?
还有其他方法可以在 asp.net core 的 web-API 中存档吗?
javascript - 如何使用 npm 链接修复 Angular 库中的“未找到模块”错误?
我正在尝试为 Javascript 库构建 Angular 包装器,但出现“未找到模块”错误。Javascript 库正在开发中,尚未发布到 NPM,所以我正在使用可能导致问题的 npm-link,但我不确定。我的 Angular 版本是 8.2.2。
Javascript 源库
源库/index.js:
sourcelib目录还包含package.json和README.md文件。如您所料,创建了一个 npm-link:
角度包装器
以下是我为创建 Angular 工作区、库和测试应用程序而执行的 Angular CLI 命令:
现在将testlib链接到 Javascript 库:
在testlib 中生成一个模块和组件:
testcomp.component.ts:
公共 api.ts:
现在构建sourcelib:
这是控制台输出:
并创建一个指向sourcelib的 npm-link :
角度测试应用
将testlib-app链接到testlib:
app.module.ts:
app.component.ts:
服务应用程序:
结果
我花了很多时间对此进行故障排除,但未能找到解决方案。任何帮助,将不胜感激。
reactjs - 如何在没有 node_modules 的情况下导入我在本地制作的 React 组件?
我构建了一个反应组件(my-shared-component),我想在本地与其他项目一起使用。我使用汇总来捆绑我的组件,输出是一个 dist 文件夹。
为了避免将我的组件发布到 npm,我使用了npm link
. 但是,当我npm link <my-shared-component>
在我的主机组件中执行此操作时,整个共享组件文件夹都会添加到我的 node_modules 中,包括我的组件的 node_modules 库、源文件等 - 这会导致我的主机应用程序中出现一些错误。
显然我不想这样做,如果我已经将我的组件发布到 npm 然后 used npm -i my-shared-component
,那么只会安装我的 dist 文件夹。
我可以使用 npm-link 在本地模仿这种行为吗?我想使用 my-shared-component 的打包版本。
谢谢!
node.js - Oclif cli 作为 tarball 发布:如何将命令自动链接到 bashRc 而无需编写“npm link”?
我正在尝试发布一个使用 oclif 作为 tarball 构建的 cli。在本地环境中,我需要编写 npm link 以将代码与命令链接。但在产品中,我不希望用户在下载 zip 后打开终端并编写 npm 链接。
似乎 npm 无法运行预安装脚本,除非调用“npm install”。编写一个 shell 脚本听起来是个不错的解决方案,但是用户必须再次手动执行这个脚本。我想知道在用户下载 zip 后是否真的没有办法让这个“npm 链接”自动执行。我确定 Oclif 有它的东西,但我在文档https://oclif.io/docs/releasing中找不到它。
谢谢你的帮助。这是项目的package.json
angular - 在 Angular 库中保留符号链接
我有个问题。
我正在尝试使用 ng-cli 创建 Angular 8 库,但我无法使用npm link
.
我试图在我的 angular.json 上添加这个:
但得到:
我发现它不适用于图书馆。
然后我尝试将其添加到我的 tsconfig.lib.json 中:
什么也没发生。
我在这里搜索解决方案,但找不到类似的东西。
我怎样才能做到?
谢谢!
reactjs - 如何取消链接已删除的全局包?
我已经用npm link
包文件夹中的命令链接了一个包,然后我删除了它,我无法从 npm 全局列表中取消链接包。
node.js - Npm 链接在 Angular7 项目中不起作用
我已经创建了一个 Angular7 应用程序,并且必须在我的主 Angular 应用程序中安装另一个 Angular 应用程序作为小部件。
我曾经npm-link
将小部件 Angular 应用程序与我的主要 Angular 应用程序链接起来。
步骤npm link
- 在主项目文件夹的 cmd 中 Ran 命令
npm link ../ol-core-widget
该ol-core widget
项目已链接到我的主项目,当我更新ol-core-widget
该文件时node_modules/
,主项目中也会更新。但是当我的主项目尝试从 访问文件时ol-core-widget
,它失败了。
- 之后我跑了
npm install
,但它删除了所有链接。
如果我在我的小部件应用程序中进行任何更改,那么我必须.tgz
为该项目创建一个文件,然后将其安装在我的主要 Angular 应用程序中。
版本信息:
- npm
6.4.1
- 节点
10.13.0
- 角 CLI
7.0.3
typescript - 如何使用 npm 链接和使用 TypeScript 编写的模块进行开发?
我正在使用 TypeScript 和 Webpack 构建一个库。
为了开发这个库,我创建了一个单独的测试项目(使用 JS 编写)并使用npm link <package-name>
.
问题是链接指向构建文件,我npm run build
每次进行更改时都需要运行。
我想要一个指向源文件的链接并进行实时重新加载。是否可以?我是否还需要使用 TS 编写我的测试项目才能使其成为可能?
图书馆package.json
:
库代码https://github.com/kozakdenys/qr-code-styling/tree/v1
测试项目代码https://github.com/kozakdenys/qr-code-styling-site
PS我也试过"module": "src/index.ts"
了package.json
,但是导致测试项目出错Uncaught Error: Cannot find module './core/QRCodeStyling'
node.js - npm 仅链接 dist 文件夹
有没有办法限制npm link
创建符号链接只指向./dist
?
我一直在苦苦挣扎,因为我想在发布之前在本地测试我的库(反应组件)。
在我的package.json
中,我包含了主要(入口点):
但是当我运行npm link
它时仍然链接到具有node_modules
等等的父文件夹。这会导致问题,因为现在我安装了 2 个反应应用程序。
我想到了一种排除方法,node_modules
但我什至找不到方法来做到这一点。
performance - 使用链接的纱线与安装包的性能不同?
我已经为 prettier 编写了一个插件,并尝试提高格式化程序的速度。
所以我使用yarn link
+yarn link "@prettier/plugin-pug"
并yarn prettier --write 'src/**/*.pug'
在一个包含 86 个哈巴狗文件的(封闭源代码)项目中运行
当我不链接我的插件并使用通过 package.json 安装的默认值时,
我会得到一个结果✨ Done in 18s
当我使用相同的提交 + 构建 dist + yarn 链接时,我得到了一个结果✨ Done in 8s
有人可以解释发生了什么吗?
是因为链接版本有它自己的 node_modules 文件夹吗?
我没有用 npm 测试过,但我认为它可能是相同的结果。
使用 npm link 的结果是一样的!