0

我们正在尝试将没有 angular cli(直接使用 webpack 和自定义服务器)构建的 angular 应用程序移植到带有 cli 的 angular 9。升级到 Angular 9 本身运行良好。在我们开始使用 angular cli 之后,我们遇到了几个问题。

现在唯一剩下的就是构建似乎根本没有接听 webpack 的require.context调用。我们在任何地方都使用它来动态查找和注册我们的组件,它以前工作得很好,只使用@types/webpack-env包。但是现在,在 vscode 中,没有语法错误,但是当我们尝试运行时ng serve,它会为每个具有 的文件产生以下错误require.context

ERROR in src/app/shared/shared.module.ts:22:29 - error TS2339: Property 'context' does not exist on type 'NodeRequire'.

const requireFile = require.context(

整个构建失败了。我猜这是因为常春藤在某种程度上,但我不知道如何解决这个问题,我到处寻找,但我没有找到解决方案。我尝试安装@types/webpack-env依赖项(而不是开发依赖项),但没有运气。我不确定为什么会这样,我认为 webpack 会正常工作并在 ivy 开始工作之前接听这些电话。

4

1 回答 1

1

在 tsconfig.app.json 中有这样的:

"types": []

如下所述禁用自动包含:https ://www.typescriptlang.org/docs/handbook/tsconfig-json.html#types-typeroots-and-types

删除整个types部分(或添加"types": ["node", "webpack-env"])解决了这个问题。

于 2020-02-25T10:42:52.407 回答