我刚刚使用 Angular 2 (typescript) 有一段时间了,如果我的问题太无聊了,我很抱歉 :(
我将我的第一个包发布到 npm 如下
项目结构
lib
|--banana
|--b.js
|--b.d.ts
|--coconut
|--c.js
|--c.d.ts
src
|--banana
|--b.ts
|--coconut
|--c.ts
gulpfile.ts
package.json
tsconfig.json
typings.json
包.json
"name": "XXX",
"main": "lib/",
"typings": "lib/",
"files": [
"lib/"
]
tsconfig.json
{
"compilerOptions": {
"experimentalDecorators": true,
"module": "commonjs",
"declaration": true,
"outDir": "lib/",
"types": [
"core-js"
]
}
}
我成功地将它发布到 npm,然后我在一个 angular-cli 项目中使用它
npm install my_package --save
问题是在消费项目中,我只能通过绝对路径导入我的包的类,即
import {Banana} from './../../node_modules/my_package/lib/banana/b'
我尝试了一些更改发布我的包的方式,但它仍然没有按预期工作。
那么,请帮助我展示我在发布包的方式或消费包的方式中遗漏的要点?
编辑
如果我导入如下:
import {Banana} from 'XXX';
我收到此错误:
ERROR in Error encountered resolving symbol values statically. Could not resolve XXX relative to /Users/john/Documents/workspace/consuming-npm/src/app/app.module.ts., resolving symbol AppModule in /Users/john/Documents/workspace/consuming-npm/src/app/app.module.ts, resolving symbol AppModule in /Users/john/Documents/workspace/consuming-npm/src/app/app.module.ts
ERROR in ./src/app/app.module.ts
Module build failed: Error: /Users/john/Documents/workspace/consuming-npm/src/app/app.module.ts (18,33): Cannot find module 'XXX'.)
我认为问题在于我发布 npm 包的方式,但仍然不知道它来自哪里:(