问题标签 [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.
angular - 如何配置我的角度库以使用正确安装的 RxJS 链接它进行本地测试?
我已经能够构建、链接并将我的库导入到我的主应用程序中,但是我的库提供了一个返回 RxJs Observables 的服务,并且我遇到了一个问题,即返回类型是在库 node_modules 中找到的 RxJs observable,而不是主要应用程序节点模块:
这是我的 Angular 库的 Workspace 的 package.json:
和图书馆项目本身:
库的工作区的 tsconfig:
我的应用程序的 tsconfig:
据我了解,对等依赖项应该在 tsconfig 路径中 - 我假设在库中,但这对我不起作用,所以我尝试了两者,如您在上面看到的。
这是一个问题,因为这会导致错误:
node.js - 相对文件的节点模块路径
因此,我编写了一个短节点模块(module1)作为可以通过命令行调用的二进制文件(.exe)的包装器。
这就是我获取二进制文件路径以使用 .exe 执行 .exe 的方式execFilePromised
。它适用于我的模块1。
问题:
当我将 module1npm link ../<module1>
导入另一个节点项目时,路径未正确设置为,.exe
因为它位于我的node_modules
文件夹中,而不是位于<otherproject>/mpq/MPQEditor.exe
如何使相__dirname
对于实际文件而不是项目执行目录?
angular - Npm 链接:找不到库的模块
我在一个主应用程序和一个外部库上工作。我已使用 npm link 在主应用程序中创建指向库的链接。
在主应用程序中,我添加了一些导入,例如:
在我使用 npm 链接(我的 lib 是一个天蓝色的工件)之前,这些导入曾经可以工作。但是由于我已经使用 npm link 创建了符号链接,所以我遇到了编译错误,例如
找不到模块“@scope/myLib”。
在主应用程序 angular.json 中,我已经添加了 "preserveSymlinks": true
任何想法?
javascript - 使用 npm link 命令时出错
我正在尝试在我的 Windows 计算机上使用 npm 链接命令,但是遇到此错误有人可以在这方面帮助我我现在坚持了一段时间
reactjs - ReactJS:导入符号链接组件错误:模块解析失败:意外令牌:您可能需要适当的加载程序来处理此文件类型
我正在编写一个 React 组件库,我想在其他项目中使用它,而无需太多开销(bit、create-react-library、generact 等)且无需发布。我想用npm install ../shared_lib
它作为符号链接将它添加到我的项目中/node_modules
。此命令将符号链接添加到项目 node_modules。在我的 shared_lib 中,我只是对 a 进行了export default
测试<div></div>
:
当我将组件导入我的工作项目时,我面临的问题是以下错误:
错误:
如果我从shared_lib
带有 jsx 的文件以外的文件导入任何内容 - 例如,字符串或函数等 - 它工作正常。
编辑:应用程序 webpack 已将解析对象的 symlinks 属性设置为 false:
编辑:在下面的答案(https://stackoverflow.com/a/60980492/3006493)中应用解决方案后,我后来将 symlinks prop 改回 true。我不需要将其设置为 false 以使解决方案工作和渲染shared_lib
组件。
我的应用程序的加载器:
编辑:当我在下面的答案中应用解决方案时,加载器现在看起来像这样:
应用程序当前的 .babelrc 设置(我也尝试删除 .babelrc 并在 package.json 中包含预设,结果相同):
**编辑:在下面的答案中应用解决方案后,我最终将 babel 预设放回package.json.
我研究了一段时间以找到解决方案,显然 webpack 在捆绑符号链接反应组件时遇到问题?我没有使用 create-react-app。 因此,我尝试在将 shared_lib 导入项目之前对其进行捆绑,看看会发生什么。这是最终的 webpack 配置(我也尝试了其他配置):
以及 shared_lib 的 package.json
当我尝试以相同的方式导入组件时:
console.log 返回undefined
。
我的应用程序中库文件的路径很好,因为如果我删除所有内容并在我的will return中shared_lib/dist/shared_lib.js
写入。export default 1
console.log(TryTest)
App.js
1
我尝试将 libraryTarget 属性更改shared_lib/webpack.config
为libraryTarget: 'commonjs'
. 的结果console.log(TryTest)
变成{shared_lib: undefined}
。
有没有人遇到过这个?
npm - 运行“npm link”会破坏 yarn 和 npm?
我跑npm link
了一个项目。我收到了一些错误信息,然后跑回npm unlink
原处。
现在许多基本的 npm 和 yarn 命令已经停止工作。
例如:
如何从 npm 链接中清理混乱?
vue.js - 无法使用 npm 链接访问 Vue 指令
我 fork 了一个 npm 模块,想进行一些更改,在本地测试它们,然后打开一个 pr。
我有两个文件夹:
~/projects/some_module-test
我想运行一个 Vue 应用程序来测试我的更改。
~/projects/some_module
是 的分叉回购some_module
。
我跑npm link
进去~/projects/some_module
然后npm link some_module
进去~/projects/some_module-test
在我main.js
执行some_module-test
以下操作:
当我登录时,my_module
我可以看到它上面的所有方法,所以npm link
似乎有效。
不幸的是,我无法访问应该由my_module
in提供的指令App.vue
<div @my_module_shortkey="['ctrl', 'a']" @my_module_directive='someAction()'/>
这是我的vue.config.js
:
非常感谢任何输入!
angular - 每次构建 Angular 库后都需要不断地重新安装节点模块
我发现很难说出这个问题。我希望这是有道理的。我在这里进行了更广泛的搜索,试图找到对这种行为的引用,但没有找到任何东西。
我有一个 Angular 库项目,它已经完美运行了几个月。
想要在库中添加一个新的(稍微复杂的)新功能,我厌倦了在每次测试后将构建的库复制到我的主项目中。
经过一番研究,我发现npm link
了我以前没有使用过的东西。这在大约一周的时间里非常有效。在库项目中的每次更改后,我都重建了库,并且这些更改立即在我的主项目中可用。
然后就在昨天,一些非常奇怪的事情开始发生。我去构建库项目并得到页面或错误。(见下文)
重新安装所有的 npm 包解决了这个问题,但是当我去使用我的主项目时,所有的错误都再次出现在那里。
然后我对库项目进行了一些更改并进行了重建,所有错误又回来了。
关于这里发生了什么的任何想法?
2020-06-30 编辑
根据我下面的一条评论,这几天没问题,但我昨天和今天早上不得不重新安装。
shared-libraries - 来自 Create React App 项目的共享库提供(jsx 当前未启用错误)
我正在尝试将共享库用于可重用组件,并仅使用 2 个开箱即用的 Create react 应用程序。一个称为“共享库”,另一个称为“项目示例”。我在共享库中制作了一个超级简单的组件,导出(在我测试时工作)。我 NPM 似乎正确地链接了两者(shared-lib 在我的项目示例 node_modules 中带有一个特殊图标)。我建立了共享库,我还导入了共享组件(SharedComponent)
从“共享库”导入 SharedComponent;<- lib 在我的 node_modules 中
../shared-lib/src/index.js SyntaxError: /Users/bemker/dev/portals-modern/shared-lib/src/index.js: 当前未启用对实验性语法“jsx”的支持(8 :3):
将 @babel/plugin-transform-react-jsx ( https://git.io/vb4yd ) 添加到 Babel 配置的“插件”部分以启用转换。
我正在关注一个视频教程,他不必弹出他的 create react 应用程序,但我猜这就是错误的来源。
如果有人想看,这是我正在关注的视频。https://www.youtube.com/watch?v=B7iYJT_ll-U
任何人都知道为什么会发生这种情况,或者如何克服它(最好不弹出)?
reactjs - 在我的 React Typescript 项目中共享我的一个库的最简单方法是什么?
假设我想在我的 React 项目中共享一些公共数据对象或实用程序类(仅限本地)。例如,执行复杂字符串或数据结构操作的实用程序类。
最好的方法是什么?我应该为库创建一个单独的 NPM 模块,并将其链接到每个项目吗?
我见过一些create-app-rewired
使用getBabelLoader
.