Angular Universal: «Проект не найден в рабочей области». - PullRequest
0 голосов
/ 04 июня 2018

Я пытаюсь преобразовать свой существующий Angular Project для работы с Angular Universal (https://universal.angular.io/). Я следую этому уроку: https://github.com/angular/angular-cli/wiki/stories-universal-rendering. Я застрял в конце шага 3 (СборкаBundle). Имя моего проекта "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"
                    }
                }

Есть идеи, что я делаю неправильно?

1 Ответ

0 голосов
/ 11 января 2019

Дважды проверьте, что fundercat - это имя вашего проекта, посмотрев на то, что указано в качестве имени в вашем файле package.json.Если имя отличается от fundercat, вам нужно использовать это имя в команде, чтобы построить сервер.Например, если ваш проект на самом деле называется FunderCat, вам нужно запустить ng run FunderCat:server для запуска сервера.

Я столкнулся с подобной проблемой, когда пытался добавить angular universal в проект angular-tour-of-heroes.То, как была сформулирована документация, показало, что «my-project» - это какая-то особая угловая команда cli для запуска сервера.Это не.«my-project» относится к названию проекта, над которым вы работаете.Поэтому мне пришлось запустить ng run angular-tour-of-heroes:server, чтобы запустить сервер в учебном проекте вместо ng run my-project:server.

...