问题:在包含来自自定义npm-module的文件时,如何使Angular进入node_modules
文件夹而不是“ package.json中定义的自定义目录”。 (请参见下面的package.json)
在我的项目中,我有2个文件夹
在 angular 目录中,我通过普通的npm install
安装我的自定义npm模块。这是package.json文件
{
"name": "angular",
"dependencies": {
"shared-module": "file:../shared-module"
}
我可以通过检查 angular 目录中的node_modules文件夹来查看其安装正确
然后,当我将 共享模块 中的文件包含在 angular 项目中
import 'shared-module/src/util/countries';
它看起来似乎不在angular-> node_modules文件夹中,而是继续转到自定义npm模块的“原始”目录。.
../ shared-module / src / util / countries.ts中的错误 在TypeScript编译中丢失。请通过“文件”或“包含”属性确保它在您的tsconfig中。
如果我将tsconfig.json更新为包含“原始”目录,则它将起作用。
"include": [
"./src/**/*.ts",
"../shared-modules//src/**/*.ts"
]
但是,将其添加到package.json并没有什么意义(除非您发布模块)
"shared-module": "file:../shared-module"
所以感觉好像我缺少一些设置吗?预先感谢
编辑: NPM 5 似乎在使用这种符号链接时创建
"shared-modules": "file:../shared-module"
edit2: preserveSymlinks 似乎没有任何作用(https://www.typescriptlang.org/docs/handbook/compiler-options.html)
是否仍然存在这种行为,并且只是 真正安装 该软件包?
答案 0 :(得分:0)
当我使用未编译的库进行编辑并立即进行角度拾取更改时,我将它们添加到tsconfig的“路径”中或使用“ npm链接”