私はnpm publish/typescript npmのtypescriptパッケージを使用すると、どうして醜いインポートを避けることができますか?
プロジェクト構造
を以下のようNPMに私の最初のパッケージを発表:(NOOPので、私の質問がある場合、私はちょうどしばらくの間、角度2(typescriptです)と協力して、非常に残念ました
"name": "XXX",
"main": "lib/",
"typings": "lib/",
"files": [
"lib/"
]
package.json
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
{
"compilerOptions": {
"experimentalDecorators": true,
"module": "commonjs",
"declaration": true,
"outDir": "lib/",
"types": [
"core-js"
]
}
}
tsconfig.json
私は、問題は消費プロジェクトでは、私が唯一できることです
npm install my_package --save
を経由して、その後私は1つの角度-CLIのプロジェクトでそれを消費し、それが正常にNPMに公開すなわち
import {Banana} from './../../node_modules/my_package/lib/banana/b'
のために、絶対パスを介して私のパッケージのクラスをインポートし、私は私のパッケージを公開する方法で、いくつかの変更を試みたが、それはヘクタールまだ期待どおりに働いていません。
私のパッケージを公開する方法やパッケージを消費する方法を見逃してしまった点を教えてください。
EDIT
私は次のようにインポートする場合:
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 pを公開する方法の周りにあると思うあなたは、あなたがあなたのパッケージに指定された名前を使用して、それをインポートすることができ
"main": "lib/banana/b"
:それはあなたでは:(
があなたの提案を適用する(上記youryouのサンプルコードで
XXX
)JSON、しかし、私は モジュールのビルドが失敗した./src/app/app.module.tsでこのエラー 'ERRORを満たす:エラー:.../src/app/app.module.ts(18,33):モジュール 'XXX'が見つかりません) 'あなたは何ですか他に何か提案はありますか? – doannx'src'に' package.json'がありますか? – nicovank
私の消費しているプロジェクトの詳細については、私の質問が更新されました。どうもありがとうございました! – doannx