添加 @angular/pwa 在 Angular CLI 上不起作用

Far*_*lam 10 service-worker progressive-web-apps angular-cli angular

我正在尝试运行命令 ng add @angular/pwa --我的项目名称,以便我可以在我的 Angular 项目中实现服务工作人员,但我返回的错误是“添加命令需要在以下位置运行”一个 Angular 项目,但找不到项目定义。” 如果有人可以阐明我可以做些什么来克服这个错误,我将不胜感激。我从 Angular CLI 版本 1.49 升级。我有一种感觉,它与 angularcli.json 文件有关,因为新版本使用 angular.json 文件。

\n\n

当我尝试使用 ngserve 时,这也是一个异常:\n工作区需要在使用之前加载。\n错误:工作区需要在使用之前加载

\n\n

这是我的版本详细信息:

\n\n
    / \\   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|\n   / \xe2\x96\xb3 \\ | \'_ \\ / _` | | | | |/ _` | \'__|   | |   | |    | |\n  / ___ \\| | | | (_| | |_| | | (_| | |      | |___| |___ | |\n /_/   \\_\\_| |_|\\__, |\\__,_|_|\\__,_|_|       \\____|_____|___|\n                |___/\n\n\nAngular CLI: 7.0.1\nNode: 10.12.0\nOS: darwin x64\nAngular: 5.2.11\n... animations, common, compiler, compiler-cli, core, forms\n... http, platform-browser, platform-browser-dynamic\n... platform-server, router\n\nPackage                      Version\n------------------------------------------------------\n@angular-devkit/architect    0.10.1\n@angular-devkit/core         0.3.2\n@angular-devkit/schematics   7.0.1\n@angular/cli                 7.0.1\n@ngtools/webpack             1.10.2\n@schematics/angular          7.0.1\n@schematics/update           0.10.1\nrxjs                         5.5.12\ntypescript                   3.1.1\nwebpack                      3.11.0\n
Run Code Online (Sandbox Code Playgroud)\n

小智 11

关于使用更新文件的新版本,您是正确的angular.json。请参阅以下有关更新 cli 的链接,它们应该会有所帮助:Angular Cli 错误:serve 命令需要在 Angular 项目中运行,但找不到项目定义,并且https://github.com/angular/angular- cli/issues/12215#issuecomment-433593036

就我而言,我执行了以下操作:

  1. 卸载cli:npm uninstall -g angular-cli
  2. 清除 npm 缓存:npm cache verify
  3. 重新安装角度 cli:npm install -g @angular/cli@latest

安装 cli 并生成项目后,在项目目录中运行以下命令,其中name是 angular.json 文件中定义的应用程序名称:

ng add @angular/pwa --project name

值得注意的是,这name是文件中列出的项目名称angular.json。在该文件中,您应该找到如下指令:"defaultProject": "app",. 所以就我而言,它将是:

ng add @angular/pwa --project app


Ham*_*mid 8

当我运行以下命令时,我无法安装该软件包

ng add @angular/pwa
Run Code Online (Sandbox Code Playgroud)

当我试图解决这个问题时,@angular/pwa 的最后一个版本是 v14.2.7,而我的 Angular 版本是 v11,所以我安装了较低版本的 @angular/pwa,它对我有用。我运行了这个命令

 ng add @angular/pwa@12.2.2
Run Code Online (Sandbox Code Playgroud)


Roy*_*mes 5

我尝试将 @angular-devkit/schematics-cli 包更新到最新版本:

npm install @angular-devkit/schematics-cli@latest
Run Code Online (Sandbox Code Playgroud)

但那失败了。最后我这对我有用:

我将整个 @angular/cli 包更新到最新版本:

npm install @angular/cli@latest
Run Code Online (Sandbox Code Playgroud)

我在一个新的新项目中做到了这一点。它使用最新的 /pwa 版本 在此输入图像描述

在此输入图像描述