angular - ng服务时如何修复Angular替换引导错误
问题描述
我在“ng serve”命令上收到以下错误。我刚刚从 git 中提取了这个,删除了 node_modules 和 package-lock 文件,运行了 npm install 然后 ng serve。我不知道这意味着什么,之前似乎没有其他人遇到过这个问题
Error: TypeError: Cannot read property 'createUniqueName' of undefined
at
...\Web\Web\node_modules\@ngtools\webpack\src\transformers\replace_bootstrap.js:54:50
at Array.forEach (<anonymous>)
at standardTransform
(...\Web\Web\node_modules\@ngtools\webpack\src\transformers\replace_bootstrap.js:32:32)
at transformer (...\Web\Web\node_modules\@ngtools\webpack\src\transformers\make_transform.js:17:25)
replace_bootstrap.js:54:50 看起来像这样:
const idPlatformBrowser = ts.factory.createUniqueName('__NgCli_bootstrap_');
replace_bootstrap.js:32:32 是这样的:
entryModuleIdentifiers.forEach(entryModuleIdentifier => {
// Figure out if it's a `platformBrowserDynamic().bootstrapModule(AppModule)` call.
if (!(entryModuleIdentifier.parent
&& entryModuleIdentifier.parent.kind === ts.SyntaxKind.CallExpression)) {
return;
}
const callExpr = entryModuleIdentifier.parent;
if (callExpr.expression.kind !== ts.SyntaxKind.PropertyAccessExpression) {
return;
解决方案
你的可能有问题node_moduels
,我认为你不应该删除package-lock.json
. 尝试再次从 git 中拉取项目并以node_modules
这种方式删除,然后安装:
rm -rf node_modules
npm install
它将删除您的 node_modules/ 文件夹,然后从 package.json 重新安装依赖项。
以下是关于package-lock.json
文件的解释以及为什么应该使用现有文件:提交并且不要删除 package-lock.json
从网站:
一个新的开发人员来了,并从源代码管理中获取了项目。他们使用 npm install 并看到一切正常,因为恢复的软件包与为原始开发人员恢复的软件包版本完全相同。但是现在他们认为“谁提交了 package-lock.json?他们不知道这是多余的吗?” 所以他们将其从源代码控制中删除。三个月后,另一个开发人员来了,并在代码存储库的源代码上运行 npm install,但没有任何效果。根据 package.json 中指定的内容,下载的版本是依赖项的最新版本,或者可能是类似的版本,但具有不同的次要版本,以及开发人员认为最适合该特定版本的依赖项。
推荐阅读
- android - 如何禁用 Exoplayer 视频布局
- javascript - 根据屏幕亮度更改背景的 alpha 值
- python - 如何在 Python 中将图像文件夹转换为 CSV 文件时在 CSV 文件中添加列
- javascript - 我正在尝试添加从 chart.js 中的 API 获取的数据
- php - Laravel 队列工作者和 pm.max_children
- javascript - MailChimp API - 无法更新现有成员的标签
- arrays - 连接字符串和数字以形成数组名称
- python - pandas:列与其元素之间的数据类型不同
- python - 覆盖 fastAPI 的 HTTPException 响应体
- python - PYTHON通过根据距离插值周围点列表来获取2d点的值