Angular-来自本地自定义npm模块的.ts文件(已安装)

时间:2019-03-15 17:19:08

标签: angular typescript

问题:在包含来自自定义npm-module的文件时,如何使Angular进入node_modules文件夹而不是“ package.json中定义的自定义目录”。 (请参见下面的package.json)


在我的项目中,我有2个文件夹

      • src
      • package.json
    • 共享的(npm模块)
      • src
      • package.json

angular 目录中,我通过普通的npm install安装我的自定义npm模块。这是package.json文件

 {
  "name": "angular",
  "dependencies": {
    "shared-module": "file:../shared-module"
  }

我可以通过检查 angular 目录中的node_modules文件夹来查看其安装正确

      • node_modules
        • 共享模块
          • src

然后,当我将 共享模块 中的文件包含在 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

是否仍然存在这种行为,并且只是 真正安装 该软件包?

1 个答案:

答案 0 :(得分:0)

当我使用未编译的库进行编辑并立即进行角度拾取更改时,我将它们添加到tsconfig的“路径”中或使用“ npm链接”