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

时间:2017-03-16 13:13:06

标签: angular angular-cli

我对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)

我重新安装了CLI,其他任何工作都没有。我可以用json文件吗?

10 个答案:

答案 0 :(得分:45)

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

答案 1 :(得分:33)

您可能将项目移到其他文件夹中,或删除.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": {}
  }
}

答案 2 :(得分:9)

请在根文件夹文件名 - .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": {}
    }
}

答案 3 :(得分:5)

你错过了.angular-cli.json,

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

 ng new project-name

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

 ng serve 

错误应该消失了。

答案 4 :(得分:3)

由于删除 .angular-cli.json 而导致此错误,因此请先在根文件夹中添加此错误。 如果之后仍然出现错误,请检查.angular-cli.json中的静态文件

答案 5 :(得分:2)

https://angular.io/guide/quickstart

  

第3步:为应用程序提供服务转到项目目录和   启动服务器。

     

content_copy    cd my-app   ng serve --open

可能你错过了第3点(cd my-app)? 起始目录如下:./ my-app / my-app。 如果从其他目录启动应用程序,我们会收到此错误。

答案 6 :(得分:1)

我的第一个建议是按照here的说明更新Angular CLI。本主题仅涉及here。通常的罪魁祸首是Angular CLI的更新,但未遵循上述说明,但您没有详细说明您的具体情况。

答案 7 :(得分:1)

确定您在项目文件夹中。这可能发生在程序员有一个实践目的的文件夹时,例如:说" MyWorkOuts"夹。 程序员可能有很多练习应用程序说:practice1,practice2等...

我使用VS代码 在其中确保终端处于您尝试启动的确切角度应用程序中。

这可能看起来很简单甚至是愚蠢的。但是一边学习一切都会发生 确保您可以按照我们的stackoverflow朋友的其他解决方案。

谢谢大家好日子: - )

答案 8 :(得分:0)

问题可能是文件.angular-cli.json,不要忘记带有文件格式的扩展名.json。从原始项目中复制此文件并将其粘贴到您的项目中。

答案 9 :(得分:-1)

http://javasampleapproach.com/aws/angular-4-amazon-s3-example-how-to-upload-file-to-s3-bucket

你的tsconfig.app.json文件中的

把这个

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/app",
    "baseUrl": "./",
    "module": "es2015",
    "types": ["node"] 
  },
  "exclude": [
    "test.ts",
    "**/*.spec.ts"
  ]
}