在本地运行我不使用 angular-cli 创建的 node.js-angular7-webpack4.21 应用程序时,我在浏览器中收到以下错误:
Error: Can't resolve all parameters for Location: (?).
Run Code Online (Sandbox Code Playgroud)
我对这个问题进行了广泛的研究。首先,我没有任何组件、服务或其他命名的“位置”,所以我不知道编译器很难解析哪个实体的参数。其次,我的整个应用程序中只有 4 个服务,没有一个指向彼此,因此这不是循环依赖问题。我也没有忘记将 '@Injectable()' 装饰器正确放置在任一服务文件中。真的,经过三重和八重检查后,这不是问题。
此外,我已经用一个空的 angular6 项目重现了这个问题,该项目由 0 个服务和只有 1 个组件组成,模板中的 div 中只有单词,在这种情况下,我只收到关于“ApplicationModule”而不是“Location”的相同错误。所以即使我没有 webpack 错误,我也认为问题出在我的 webpack 配置中,因此我将把 webpack.config.js 和 tsconfig.js 文件放在下面,希望有人能找到关于它们的一些非常愚蠢的东西。
这是我的 tsconfig.json:
{
"compilerOptions": {
"target": "es5",
"lib": ["dom", "es2017", "es5", "es6", "es7"],
"outDir": "dist",
"module": "commonjs",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": true,
"noImplicitAny": false,
"typeRoots": ["types"],
"types": ["node"]
},
"exclude": ["node_modules"]
}
Run Code Online (Sandbox Code Playgroud)
这是我的 webpack.config.js:
var webpack = require('webpack');
var helpers …Run Code Online (Sandbox Code Playgroud)