无法按包名导入自定义npm包

时间:2018-04-10 16:05:55

标签: angular typescript npm

我正在松散地跟随this tutorial创建我自己的名为customlib的角度npm包,这样我就可以在我的项目中管理依赖项,而不会在npm上公开它们。

在我的app.module.ts中,当我执行以下操作时出现module not found: Can't resolve 'customlib'错误:

import { customModule } from 'customlib';

如果我这样做,它可以正常工作:

import { customModule } from '../../node_modules/customModule/dist-lib/index';

有什么我想念的吗?值得注意的是,我将要包含在我的包中的所有文件移动到dist-lib目录。

我的图书馆package.json看起来像这样:

{
    "name" : "customlib",
    "version" : "0.1.0",
    "private" : true,
    "dependencies" : [
       ...
    ],
    "files" : [ "dist-lib/" ],
    "repository" : {
       "type" : "git",
       "url : "path/to/repo"
    },
    "types": "dist-lib/index.d.ts"
}

我在消费者项目的package.json中添加了依赖关系:

"customlib" : "path/to/repo"

我还将以下内容添加到消费者项目的tsconfig.json

"include": [
    "src/**/*.ts",
    "node_modules/customlib/dist-lib/index.ts"
]

2 个答案:

答案 0 :(得分:0)

尝试使用消费者package.json依赖项:

"customlib" : "file:path/to/repo"

不要忘记" npm install"。

答案 1 :(得分:0)

我找到了由angular团队发布的资源,该资源介绍了如何创建angular package。在这里你可以找到一些例子以及一些包装库。

请仔细阅读本文件。希望这会有所帮助。