Angular 2无法读取null的属性'config'

Dam*_*ien 29 angular-cli angular

我有Angular 2的问题.当我想启动服务器它得到这个:

$ ng serve
Cannot read property 'config' of null
TypeError: Cannot read property 'config' of null
at Class.run (C:\Users\Damien\Desktop\application\node_modules\@angul ar\cli\tasks\serve.js:22:63)
at check_port_1.checkPort.then.port (C:\Users\Damien\Desktop\application\node_modules\@angular\cli\commands\serve.js:103:26)
at process._tickCallback (internal/process/next_tick.js:103:7)
Run Code Online (Sandbox Code Playgroud)

我重新安装了CLI,没有其他工作正常.我可以用json文件吗?

Has*_*ash 48

我找到了解决方案!在我的情况下,我将项目移动到另一个目录.
有一个名为.angular-cli
的隐藏文件显示旧项目中的隐藏文件并复制此文件并将其粘贴到新的扩展中.这解决了我的问题.


Car*_*tin 35

您可能将项目删除到其他文件夹,或删除.angular-cli.json

进入应用程序的根目录,添加:.angular-cli.json

并粘贴:

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "project": {
    "name": "PROJECT_NAME"
  },
  "apps": [
    {
      "root": "src",
      "outDir": "dist",
      "assets": [
        "assets",
        "favicon.ico"
      ],
      "index": "index.html",
      "main": "main.ts",
      "polyfills": "polyfills.ts",
      "test": "test.ts",
      "tsconfig": "tsconfig.app.json",
      "testTsconfig": "tsconfig.spec.json",
      "prefix": "app",
      "styles": [
        "styles.css"
      ],
      "scripts": [],
      "environmentSource": "environments/environment.ts",
      "environments": {
        "dev": "environments/environment.ts",
        "prod": "environments/environment.prod.ts"
      }
    }
  ],
  "e2e": {
    "protractor": {
      "config": "./protractor.conf.js"
    }
  },
  "lint": [
    {
      "project": "src/tsconfig.app.json"
    },
    {
      "project": "src/tsconfig.spec.json"
    },
    {
      "project": "e2e/tsconfig.e2e.json"
    }
  ],
  "test": {
    "karma": {
      "config": "./karma.conf.js"
    }
  },
  "defaults": {
    "styleExt": "css",
    "component": {}
  }
}
Run Code Online (Sandbox Code Playgroud)


Kri*_*rya 10

请在根文件夹File Name-.angular-cli.json中添加以下文件

{
    "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
    "project": {
        "name": "XXXX"
    },
    "apps": [
        {
            "root": "src",
            "outDir": "dist",
            "assets": [
                "assets",
                "favicon.ico"
            ],
            "index": "index.html",
            "main": "main.ts",
            "polyfills": "polyfills.ts",
            "test": "test.ts",
            "tsconfig": "tsconfig.app.json",
            "testTsconfig": "tsconfig.spec.json",
            "prefix": "app",
            "styles": [
                "assets/css/styles.css"

            ],
            "scripts": [
                "assets/js/project.js"      

            ],
            "environmentSource": "environments/environment.ts",
            "environments": {
                "dev": "environments/environment.ts",
                "prod": "environments/environment.prod.ts"
            }
        }
    ],
    "e2e": {
        "protractor": {
            "config": "./protractor.conf.js"
        }
    },
    "lint": [
        {
            "project": "src/tsconfig.app.json"
        },
        {
            "project": "src/tsconfig.spec.json"
        },
        {
            "project": "e2e/tsconfig.e2e.json"
        }
    ],
    "test": {
        "karma": {
            "config": "./karma.conf.js"
        }
    },
    "defaults": {
        "styleExt": "css",
        "component": {}
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 这是我的解决方案.谢谢克里希纳. (3认同)

hoo*_*ogw 5

你错过了.angular-cli.json,

你可以通过(转到新文件夹)生成它

 ng new project-name
Run Code Online (Sandbox Code Playgroud)

现在将.angular-cli.json文件复制到项目根目录.

 ng serve 
Run Code Online (Sandbox Code Playgroud)

错误应该消失了.


J. *_*nor 1

我的第一个建议是按照此处的说明更新 Angular CLI 。这里稍微介绍一下这个主题。通常的罪魁祸首是 Angular CLI 的更新,而不遵循上述说明,但您没有提供有关您情况的任何具体信息。