问题标签 [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.
react-native - React Native:npm链接本地依赖,无法解析模块
我正在开发一个按钮 ui 包以响应本机。我尝试构建一个示例项目来测试这个按钮。目录结构如下:
我尝试使用npm link
:
在example/node_modules/
我可以看到 my-button 符号链接中,VSCode 也可以在 my-button 包中自动完成功能。
但是执行示例应用程序会显示错误:
但是错误信息中的路径是正确的。
不知道我哪里错了,还是在 React-Native 中有什么特殊的方式来处理链接本地依赖?
我也试过了npm install file:../.
。example/
它以这种方式工作正常,但在我编辑我的按钮后更新依赖并不容易。
windows - 如何取消链接本地包?npm 在 windows env 中存储链接的位置?
我使用 npm link 命令链接了一个本地开发的包。从那以后,我无法将其取消链接。
我在 Windows 10 上。
我努力了:
- npm 取消链接
- npm 删除
- npm 卸载
- 彻底清除 npm 缓存和全局 repo。
我希望该软件包现在可以从 npm 网络存储库安装,就像我一样:
在我的 package.json 文件中,但它仍在安装本地链接版本。npm 在哪里存储链接?
javascript - 在流星应用程序中调试本地 npm 链接包
我正在编写一个 javascript 库,该库是 npm 链接到我的流星应用程序。我还没有将库发布到 npm,所以它只是本地的。现在我的问题是,我想在我的流星应用程序中使用它时在库中进行调试。
我可以调试流星应用程序组件并使用源映射和独立的 html 测试页面以及库本身。但是一旦我import Library from 'library'
在流星中使用它,它就会缩小、丑化和破坏它。
有没有办法告诉流星的构建系统或我的浏览器使用图书馆的源地图?
提前致谢
webpack - webpack - 链接 node_module 更改时的热重载
在我的本地环境中,我的主项目 (A) 通过 npm 链接链接到另一个项目/本地库 (B)。
当我对项目 B 进行更新时,我必须运行构建然后重新声明链接。完成后,我必须通过 webpack 通过更改项目 A 中的文件来重新编译项目 A。
项目 B 通过 global 注册。Webpack 有没有办法在检测到全局包更改时热重载?
node.js - npm 链接,不链接 devDependencies
看来,当我运行时npm link
,它将全局安装该项目,并且似乎与它一起安装 devDependencies。
有没有办法在没有 devDependencies 的情况下运行 npm 链接,也许带有--only=production
标志?
angular - 在 Angular 4 中创建一个外部模块
我想创建一个外部模块,然后将其导入我的项目。
我创建了一个包含组件( widget.component.ts )的简单模块( widget.module.ts ),因此我使用 npm 生成了一个 package.json 文件
然后我创建一个简单的应用程序
在 MySimpleApp 路径中,我链接了我的模块
但是当我启动我的应用程序时
我有这个错误:
由模块“AppModule”导入的“WidgetModule”。请添加 @NgModule 注释。
npm - 本地存储库作为依赖项
我正在开发两个存储库,一个依赖于另一个。我在 npm v5 上。我在as中指定依赖package.json
项。当我这样做时,这会为in创建一个符号链接,指向.main-repo
../dependent-repo
npm install
dependent-repo
main-repo/node_modules
../../dependent-repo
问题是它下面dependent-repo
有它自己的东西,所以当我在它的node_modules
依赖项之一中引用(需要或导入)某些东西时,默认解析过程会解析为 in 的依赖,而不是 in 的依赖。dependent-repo/node_modules
main-repo/node_modules
这被证明是 TypeScript 的一个问题,因为它显然认为 与main-repo/node_modules/@angular/core
不同dependent-repo/node_modules/@angular/core
,即使它们是相同的版本,并且逐字节相同。这会导致以下形式的 TS 错误
“ViewContainerRef”类型的参数不能分配给“ViewContainerRef”类型的参数。
我对这个问题很熟悉,因为我在使用npm link
. 该问题已在 TS 问题列表中进行了广泛讨论,但据我所知没有解决方案。我希望 npm v5 能以某种方式神奇地解决这个问题,但到目前为止还没有运气。
我尝试将依赖项指定为file://../dependent-repo
,但这也只是创建了相同的符号链接(至少在 npm5 中;我似乎记得在早期版本中,如果可能复制了目录锁、库存和桶)。
目前我能看到的唯一解决方法是让依赖项指向 github 服务器,然后提交并推送我所做的每一个更改,然后npm install
在主 repo 上重新运行以引入最新的更改。这正是我试图避免的。
dependent-repo/node_modules
在测试之前想到了临时重命名main-repo
,所以在解析过程中省略了。但是,这显然需要 的所有依赖项dependent-repo
都存在于main-repo
.
我尝试使用(in ) 的paths
选项进行一些操作,并且对 类似的东西有一些运气,但无法让它完全发挥作用。tsconfig.json
main-repo
paths: {"*": ["node_modules"]}
我知道angular-cli
可能对其内部 webpack 配置进行了一些更改以使其更好地工作,但不幸的是,我main-repo
使用的是较旧的 webpack 构建过程,并且我无法进行一些建议的更改,例如resolve: {fallback: [path.join(__dirname, 'node_modules')]}
或resolve: { modules: [ path.join(__dirname, "node_modules") ] }
为我工作。
npm-link - npm 链接错误代码:128
我正在开发一个软件,并意识到它的一部分应该是一个单独的包。在拆分代码之前,我决定尝试该npm link
命令。我按照 npm 文档创建了一个虚拟包(正是文档所描述的 - exports.printMsg = function(){} ...
)以链接到并遵循有关npm link
. 第一部分(到 /lib/node_modules 的符号链接)运行良好。第二部分失败并显示以下错误消息:
请你帮帮我好吗?我发现的所有类似错误都建议重新启动我的电脑(我做了什么)或升级 npm(我正在运行 5.3.0)。
我不明白的是为什么应该符号链接包的命令试图解决某些问题......
javascript - npm 链接不适用于 angular-cli 创建的项目
我已经使用angular-cli
. 有一个AppModule
,AppComponent
我想在其他 Angular 应用程序中使用AppModule
它及其组件 ( )。AppComponent
所以我创建了index.ts
文件并导出了AppModule
和AppComponent
然后使用创建本地链接npm link
并使用 package.json 中定义的名称创建链接。
现在在我想使用这个导出模块的其他项目中运行
链接已成功完成。我试过了
但这不起作用,因为 webpack 无法编译 AppModule 文件,因为引用没有得到解决。在 SystemJs 我们在 systemjs.config.js 文件中定义了 this 的映射,但是没有配置文件。
我该如何解决这个问题?
有没有其他方法可以重用本地模块?
javascript - 获取 __dirname 以指向文件夹路径而不是符号链接文件夹的真实路径
使用 npm 链接时,如何让 __dirname 指向文件夹的保留路径,而不是符号链接文件的真实路径。
设想
文件夹设置
内部 moduleA.js
但是,预期的行为是
因为 npm link 创建了一个符号链接,它将链接的模块插入到 node_modules 文件夹中,因此模拟了直接安装模块的体验。
如何让 __dirname 指向保留的路径,而不是模块所在的真实路径?
注意: --preserve-symlinks 命令行选项不会影响 __dirname 的值