使用Angular。模塊'...'導入的意外值'...'。請添加@NgModule註釋
步驟:
克隆演示當前角度包裝標準這個簡單的UI LIB:https://github.com/jasonaden/simple-ui-lib
創建一個新的測試應用程序與
ng new testApp
npm link
的simple-ui-lib/dist
在testApp
從簡單的UI-lib的進口的示例模塊插入testApp
npm link simple-ui-lib
:
在app.module.ts文件:
import { BoxModule } from 'simple-ui-lib';
...
@NgModule({
...
imports: [
...
BoxModule
]
})
的WebPack編譯罰款,但我得到這個錯誤在瀏覽器中,並沒有加載:
compiler.es5.js:1540 Uncaught Error: Unexpected value 'BoxModule' imported by the module 'AppModule'. Please add a @NgModule annotation.
我已經試過:
- 清除我的NPM緩存
- 重新安裝所有節點模塊
- 強制所有角模塊在兩個項目中的相同版本
- 經過所有的角模塊在兩個項目中都是相同的版本
- 檢查TypeScript版本在兩個項目中是否相同
- 使用其他樣品模塊組件,而不是
simple-ui-lib
- 創建了相同的設置
- 一月
降級在simple-ui-lib
用於構建該rollup
版本一個全新的項目。如果我控制檯日誌BoxModule
,我可以看到值存在,它似乎被註冊爲@NgModule,所以我對這個錯誤試圖告訴我什麼感到困惑。
我在我的搜索中看到了這個錯誤,但看起來它們幾乎總是由庫和主機應用程序之間的版本不匹配造成的。在我的情況下,版本是相同的。
版本:
- 打字稿:2.2.0
- @角/ CLI:1.0.4
- @角/共同:4.1。3
任何想法?
更新:調查更多,看起來像是@ angular/cli本身的問題。在這裏打開一個錯誤:https://github.com/angular/angular-cli/issues/6429,但如果您有任何建議,請讓我知道。
這可能會幫助: https://github.com/ angular/cli/blob/master/docs/documentation/stories/linked-library.md – Ryan
我與ng2-charts中的ChartsModule有同樣的問題..但它只是一個問題。 – Jesse