【问题标题】:Angular Universal: "Project could not be found in workspace."Angular Universal:“在工作区中找不到项目。”
【发布时间】:2019-01-11 05:53:55
【问题描述】:

我正在尝试将我现有的 Angular 项目转换为使用 Angular Universal (https://universal.angular.io/)。我正在关注本教程:https://github.com/angular/angular-cli/wiki/stories-universal-rendering。我被困在第 3 步(构建捆绑包)的末尾。我的项目名称是“fundercat”。当我尝试运行时:

ng run fundercat:server

我得到错误:

Project 'dist/fundercat' could not be found in workspace.

按照教程,我在 app.module.ts 中修改了以下行:

@NgModule({
  imports: [
    // Modified this line:
    BrowserModule.withServerTransition({appId: 'fundercat'}),

我在 angular.json 中添加了以下内容:

{
    "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
    "version": 1,
    "newProjectRoot": "projects",
    "projects": {
        "fundercat": {
            "root": "",
            "sourceRoot": "src",
            "projectType": "application",
            "architect": {
                ...
                // added this block:
                "server": {
                    "builder": "@angular-devkit/build-angular:server",
                    "options": {
                        "outputPath": "dist/fundercat",
                        "main": "src/main.server.ts",
                        "tsConfig": "src/tsconfig.server.json"
                    }
                }

知道我做错了什么吗?

【问题讨论】:

  • Project 'dist/fudercat' could not be found in workspace.fudercat 对吗?
  • 您将输出路径指定为“dist/fundercat”,但您的错误显示为“dist/fudercat”?检查您是否没有拼写错误,您粘贴的代码似乎没问题。
  • 好收获!那是我报告错误时的错误。我确认我的代码中没有拼写错误。
  • 可以查看"outputPath": "dist/server" 吗?
  • 用什么方法检查?教程显示应该是"outputPath": "dist/your-project-name-server",,所以我设置为"outputPath": "dist/fundercat",。

标签: javascript angular server command-line-interface universal


【解决方案1】:

通过查看 package.json 文件中列出的名称,仔细检查 fundercat 是否是您的项目名称。如果名称不是fundercat,则必须在命令中使用该名称才能构建服务器。例如,如果您的项目实际上命名为FunderCat,那么您需要运行ng run FunderCat:server 来运行服务器。

当我尝试将 angular Universal 添加到 angular-tour-of-heroes 项目时遇到了类似的问题。文档的措辞使“我的项目”看起来像是某种用于运行服务器的特殊角度 cli 命令。它不是。 “我的项目”是指您正在处理的项目的名称。所以我不得不运行ng run angular-tour-of-heroes:server 来运行教程项目中的服务器,而不是ng run my-project:server。

【讨论】:

  • 这正是我的问题。谢谢!我的 package.json 中显示的 name 属性是“client”,但我创建的项目名称实际上是“Client”。
猜你喜欢
  • 2020-05-14
  • 2017-12-06
  • 2018-10-15
  • 2021-07-15
  • 1970-01-01
  • 2020-04-17
  • 2012-10-01
  • 1970-01-01
  • 2018-09-12
相关资源
最近更新 更多