剛搭建一個angular2的框架,angular版本2.4.0,webpack打包完瀏覽器console報錯:
bundle.min.js:39162 Uncaught Error: Cannot resolve all parameters for 'Parser'(?). Make sure that the the parameters are decorated with Inject or have valid type annotations and that 'Parser' is decorated with Injectable.
但是angular版本改為2.0的就不會報錯,程式碼也是最簡單的官網上的demo,以下是tsconfig.json配置
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false
},
"exclude": [
"node_modules",
"typings/main",
"typings/main.d.ts"
],
"compileOnSave": false,
"buildOnSave": false
}
是ts配置出錯還是什麼原因呢,求解
從你的報錯看應該是DI出了問題,可以試試看把你的
target
改為:不行的話就試試在你的服務裡顯示地引入操作符:
希望你能順利解決 :)
由於你沒有貼完整的程式碼,我只能提個猜測:
應該是你呼叫某個函數的時候,沒有給它傳函數所需的參數。舉個栗子:
由於typescript會對函數的參數也會嚴格檢查,這段程式碼在執行fn()的時候,沒有給fn傳遞str參數,所以編譯的時候會錯誤。
你可以藉用別人的專案來搭建angular開發環境,github有非常多的使用webpack搭建angular開發環境的例子,這裡有個比較全也比較好的demo可以拿去參考:
https://github. com/ntesmail/a...