从角度2升级到4.0.0-rc1

时间:2017-02-28 12:18:28

标签: angular angular4

我最近一直在与Angular 2合作,而且相对较新。

鉴于即将发布,我决定升级到最新版本,这是第一个Angular 4发布候选版本。我尝试使用建议的命令:

npm install @angular/{common,compiler,compiler-cli,core,forms,http,platform-browser,platform-browser-dynamic,platform-server,router,animations}@next --save

此命令失败,我从其他帖子中了解到这种语法在bash中可用,我不熟悉。

我将路径设置为我的项目文件夹,然后尝试使用以下方法单独安装每个包:

npm install @angular/common@next --save 

每个包裹。 这看起来部分有效,但是给出了一些依赖警告。

现在的结果是我不能再使用 ng服务了,我认为我的设置有点已经至少可以说。 有人可以建议一种使用节点卸载角度(全局和局部)的方法,这样我就可以从头开始安装角度4 rc1和最新的角度cli。

2 个答案:

答案 0 :(得分:0)

我花了一些时间来实现它(据我所知)。

这是你必须做的事情(相反,这是我做了几次测试并且它有效)。按顺序执行这些步骤。

像往常一样使用角度cli创建项目。

像往常一样,进入该项目目录。

删除node_modules。

单独安装webpack(以确保获得最新版本^ 2)。

npm install webpack

将package.json文件替换为下面的文件,然后运行npm install。

运行服务

项目启动。

请注意,运行ng serve时,您会看到其中20多个错误。它们似乎不会阻止项目运行,我在浏览器控制台中看不到任何错误。

[default] /Users/tcoz/web-dev-projects/angular4/node_modules/@angular/platform-browser/typings/src/dom/dom_renderer.d.ts:58:41 
    Initializers are not allowed in ambient contexts.

另一件事:我没有全球安装TS。不确定这是否重要,但可能。确保您运行的是最新版本(^ 2.2.1)。

package.json(请注意,许多内容都会更新,而不仅仅是有角度的,有些依赖性消息在我刚刚安装webpack 2之前会让人感到困惑):

{
  "name": "angular4",
  "version": "0.0.0",
  "license": "MIT",
  "angular-cli": {},
  "scripts": {
    "start": "ng serve",
    "lint": "tslint \"src/**/*.ts\"",
    "test": "ng test",
    "pree2e": "webdriver-manager update",
    "e2e": "protractor"
  },
  "private": true,
  "dependencies": {
    "@angular/compiler": "4.0.0-rc.1",
    "@angular/core": "4.0.0-rc.1",
    "@angular/common": "4.0.0-rc.1",
    "@angular/forms": "4.0.0-rc.1",
    "@angular/http": "4.0.0-rc.1",
    "@angular/platform-browser": "4.0.0-rc.1",
    "@angular/platform-browser-dynamic": "4.0.0-rc.1",
    "@angular/router": "4.0.0-rc.1",
    "core-js": "^2.4.1",
    "rxjs": "^5.0.1",
    "ts-helpers": "^1.1.1",
    "zone.js": "^0.7.2"
  },
  "devDependencies": {
    "@angular/compiler-cli": "4.0.0-rc.1",
    "@types/jasmine": "2.5.38",
    "@types/node": "^6.0.42",
    "angular-cli": "1.0.0-beta.21",
    "codelyzer": "3.0.0-beta.0",
    "jasmine-core": "2.5.2",
    "jasmine-spec-reporter": "2.5.0",
    "karma": "1.2.0",
    "karma-chrome-launcher": "^2.0.0",
    "karma-cli": "^1.0.1",
    "karma-jasmine": "^1.0.2",
    "karma-remap-istanbul": "^0.2.1",
    "protractor": "4.0.9",
    "ts-node": "1.2.1",
    "tslint": "^4.0.0",
    "typescript": "^2.2.1",
    "webdriver-manager": "10.2.5"
  }
}

答案 1 :(得分:0)

在package.json中,我将角度组件的版本号(2.4.9)替换为当前的新版本(4.0.0-rc.3),并将@ angular / router指定为4.0。 0-rc.3。除了来自某些kendo组件的警告之外,构建很顺利。尽管有警告,但是kendo组件仍然按预期运行。