问题标签 [angular-upgrade]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
681 浏览

node.js - 将 Angular 2 升级到 Angular 4 失败

我从 angular 2 升级到 angular 4,现在出现错误。我从这里复制了文本, 即

npm install @angular/common@latest @angular/compiler@latest @angular/compiler-cli@latest @angular/core@latest @angular/forms@latest @angular/http@latest @angular/platform-browser@latest @angular/platform-browser-dynamic@latest @angular/platform-server@latest @angular/router@latest @angular/animations@latest typescript@latest --save

现在当我运行 npm start 时出现此错误请协助

`

product-management@1.0.0 start C:\Users\dp9\Documents\Visual Studio 2015\Projects\NG\NG UI

tsc && 同时 “tsc -w” “lite-server”

node_modules/@types/node/index.d.ts(70,5):错误 TS2403:后续变量声明必须具有相同的类型。变量“main”必须是“any”类型,但这里有“NodeModule”类型。

node_modules/@types/node/index.d.ts(81,5):错误 TS2403:后续变量声明必须具有相同的类型。变量“parent”必须是“any”类型,但这里有“NodeModule”类型。

node_modules/@types/node/index.d.ts(82,5):错误 TS2403:后续变量声明必须具有相同的类型。变量“children”必须是“any[]”类型,但这里有“NodeModule[]”类型。

node_modules/@types/node/index.d.ts(102,6):错误 TS2300:重复标识符“BufferEncoding”。

node_modules/@types/node/index.d.ts(263,18):错误 TS2300:重复标识符“EventEmitter”。

node_modules/@types/node/index.d.ts(371,9):错误 TS2403:后续变量声明必须具有相同的类型。变量“stdout”必须是“WritableStream”类型,但这里有“WriteStream”类型。

node_modules/@types/node/index.d.ts(372,9):错误 TS2403:后续变量声明必须具有相同的类型。变量“stderr”必须是“WritableStream”类型,但这里有“WriteStream”类型。

node_modules/@types/node/index.d.ts(373,9):错误 TS2403:后续变量声明必须具有相同的类型。变量“stdin”必须是“ReadableStream”类型,但这里有“ReadStream”类型。

node_modules/@types/node/index.d.ts(422,9):错误 TS2403:后续变量声明必须具有相同的类型。变量“平台”必须是“字符串”类型,但这里有“平台”类型。

node_modules/@types/node/index.d.ts(580,26):错误 TS2300:重复标识符“缓冲区”。

node_modules/@types/node/index.d.ts(580,50):错误 TS2300:重复标识符“SlowBuffer”。

node_modules/@types/node/index.d.ts(604,22):错误 TS2415:“EventEmitter”类错误地扩展了基类“内部”。属性“eventNames”的类型不兼容。类型 '() => (string | symbol)[]' 不可分配给类型 '() => string[]'。类型 '(string | symbol)[]' 不能分配给类型 'string[]'。

node_modules/@types/node/index.d.ts(624,5):错误 TS2309:无法在具有其他导出元素的模块中使用导出分配。

node_modules/@types/node/index.d.ts(769,18):错误 TS2300:重复标识符“代理”。

node_modules/@types/node/index.d.ts(824,9):错误 TS2403:后续变量声明必须具有相同的类型。变量 'addressType' 必须是 'string' 类型,但这里有类型 'number | “udp4” | “udp6”'。

node_modules/@types/node/index.d.ts(827,18):错误 TS2300:重复标识符“工人”。

node_modules/@types/node/index.d.ts(1510,17):错误 TS2300:重复标识符“CompleterResult”。

node_modules/@types/node/index.d.ts(1547,18):错误 TS2300:重复标识符“脚本”。

node_modules/@types/node/index.d.ts(2911,18):错误 TS2300:重复标识符“TLSSocket”。

node_modules/@types/node/index.d.ts(3108,9):错误 TS2403:后续变量声明必须具有相同的类型。变量“pfx”必须是“any”类型,但这里有“string |”类型。缓冲[]'。

node_modules/@types/node/index.d.ts(3109,9):错误 TS2403:后续变量声明必须具有相同的类型。变量'key'必须是'any'类型,但这里有'string | 任何[] | 字符串[] | 缓冲'。

node_modules/@types/node/index.d.ts(3111,9):错误 TS2403:后续变量声明必须具有相同的类型。变量 'cert' 必须是 'any' 类型,但这里有类型 'string | 字符串[] | 缓冲区 | 缓冲[]'。

node_modules/@types/node/index.d.ts(3112,9):错误 TS2403:后续变量声明必须具有相同的类型。变量 'ca' 必须是 'any' 类型,但这里有类型 'string | 字符串[] | 缓冲区 | 缓冲[]'。

node_modules/@types/node/index.d.ts(3113,9):错误 TS2403:后续变量声明必须具有相同的类型。变量 'crl' 必须是 'any' 类型,但这里有类型 'string | 细绳[]'。

node_modules/@types/node/index.d.ts(3115,9):错误 TS2403:后续变量声明必须具有相同的类型。变量“honorCipherOrder”必须是“any”类型,但这里有“boolean”类型。

node_modules/@types/node/index.d.ts(3118,9):错误 TS2403:后续变量声明必须具有相同的类型。变量 'NPNProtocols' 必须是 'any' 类型,但这里有类型 'string[] | 缓冲'。

node_modules/@types/node/index.d.ts(3135,9):错误 TS2403:后续变量声明必须具有相同的类型。变量 'key' 必须是 'string | Buffer',但这里有类型'string | 字符串[] | 缓冲区 | 缓冲[]'。

node_modules/@types/node/index.d.ts(3137,9):错误 TS2403:后续变量声明必须具有相同的类型。变量 'cert' 的类型必须为 'string | Buffer',但这里有类型'string | 字符串[] | 缓冲区 | 缓冲[]'。

node_modules/@types/node/index.d.ts(3138,9):错误 TS2403:后续变量声明必须具有相同的类型。变量 'ca' 的类型必须为 '(string | Buffer)[]',但这里的类型为 'string | 缓冲区 | (字符串|缓冲区)[]'。

node_modules/@types/node/index.d.ts(3377,9):错误 TS2403:后续变量声明必须具有相同的类型。变量“padding”必须是“any”类型,但这里有“number”类型。

node_modules/@types/node/index.d.ts(3382,9):错误 TS2403:后续变量声明必须具有相同的类型。变量“padding”必须是“any”类型,但这里有“number”类型。

node_modules/@types/node/index.d.ts(3429,22):错误 TS2420:“Readable”类错误地实现了“ReadableStream”接口。属性“暂停”的类型不兼容。类型 '() => Readable' 不可分配给类型 '{ (): ReadableStream; (): 可读流;}'。类型“Readable”不可分配给类型“ReadableStream”。属性“eventNames”的类型不兼容。类型 '() => (string | symbol)[]' 不可分配给类型 '() => string[]'。类型 '(string | symbol)[]' 不能分配给类型 'string[]'。node_modules/@types/node/index.d.ts(3512,22):错误 TS2420:“可写”类错误地实现了“可写流”接口。属性“eventNames”的类型 不兼容。类型 '() => (string | symbol)[]' 不可分配给类型 '() => string[]'。类型 '(string | symbol)[]' 不能分配给类型 'string[]'。node_modules/@types/node/index.d.ts(3622,5):错误 TS2309:导出分配不能在具有其他导出元素的模块中使用。

node_modules/@types/node/index.d.ts(3705,5):错误 TS2300:重复标识符“export=”。

node_modules/@types/node/index.d.ts(3727,18):错误 TS2300:重复的标识符“域”。

node_modules/@types/node/index.d.ts(3727,18):错误 TS2420:“域”类错误地实现了接口“NodeJS.Domain”。

属性“eventNames”的类型不兼容。类型 '() => (string | symbol)[]' 不可分配给类型 '() => string[]'。类型 '(string | symbol)[]' 不能分配给类型 'string[]'。

node_modules/@types/node/index.d.ts(4019,5):错误 TS2300:重复标识符“export=”。

typings/globals/node/index.d.ts(78,6):错误 TS2300:重复标识符“BufferEncoding”。

typings/globals/node/index.d.ts(234,18):错误 TS2300:重复的标识符“EventEmitter”。

typings/globals/node/index.d.ts(516,9): 错误 TS2502: 'BuffType' 在其自己的类型注释中被直接或间接引用。

typings/globals/node/index.d.ts(517,9): error TS2502: 'SlowBuffType' 在其自己的类型注释中被直接或间接引用。

typings/globals/node/index.d.ts(518,26):错误 TS2300:重复标识符“缓冲区”。

typings/globals/node/index.d.ts(518,50):错误 TS2300:重复标识符“SlowBuffer”。

typings/globals/node/index.d.ts(580,22):错误 TS2320:接口“服务器”不能同时扩展类型“事件发射器”和“服务器”。

“EventEmitter”和“Server”类型的命名属性“addListener”不相同。

typings/globals/node/index.d.ts(580,22):错误 TS2320:接口“服务器”不能同时扩展类型“事件发射器”和“服务器”。

“EventEmitter”和“Server”类型的命名属性“emit”不相同。

typings/globals/node/index.d.ts(580,22):错误 TS2320:接口“服务器”不能同时扩展类型“事件发射器”和“服务器”。

“EventEmitter”和“Server”类型的命名属性“on”不相同。

typings/globals/node/index.d.ts(580,22):错误 TS2320:接口“服务器”不能同时扩展类型“事件发射器”和“服务器”。

“EventEmitter”和“Server”类型的命名属性“once”不相同。

typings/globals/node/index.d.ts(580,22):错误 TS2320:接口“服务器”不能同时扩展类型“事件发射器”和“服务器”。

“EventEmitter”和“Server”类型的命名属性“prependListener”不相同。

typings/globals/node/index.d.ts(580,22):错误 TS2320:接口“服务器”不能同时扩展类型“事件发射器”和“服务器”。

“EventEmitter”和“Server”类型的命名属性“prependOnceListener”不相同。

typings/globals/node/index.d.ts(580,22):错误 TS2320:接口“服务器”不能同时扩展类型“事件发射器”和“服务器”。

“EventEmitter”和“Server”类型的命名属性“removeListener”不相同。

typings/globals/node/index.d.ts(591,22):错误 TS2320:接口“ServerResponse”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“addListener”不相同。

typings/globals/node/index.d.ts(591,22):错误 TS2320:接口“ServerResponse”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“emit”不相同。

typings/globals/node/index.d.ts(591,22):错误 TS2320:接口“ServerResponse”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“on”不相同。

typings/globals/node/index.d.ts(591,22):错误 TS2320:接口“ServerResponse”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“once”不相同。

typings/globals/node/index.d.ts(591,22):错误 TS2320:接口“ServerResponse”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“prependListener”不相同。

typings/globals/node/index.d.ts(591,22):错误 TS2320:接口“ServerResponse”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“prependOnceListener”不相同。

typings/globals/node/index.d.ts(591,22):错误 TS2320:接口“ServerResponse”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“removeListener”不相同。

typings/globals/node/index.d.ts(621,22):错误 TS2320:接口“ClientRequest”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“addListener”不相同。

typings/globals/node/index.d.ts(621,22):错误 TS2320:接口“ClientRequest”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“emit”不相同。

typings/globals/node/index.d.ts(621,22):错误 TS2320:接口“ClientRequest”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“on”不相同。

typings/globals/node/index.d.ts(621,22):错误 TS2320:接口“ClientRequest”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“once”不相同。

typings/globals/node/index.d.ts(621,22):错误 TS2320:接口“ClientRequest”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“prependListener”不相同。

typings/globals/node/index.d.ts(621,22):错误 TS2320:接口“ClientRequest”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“prependOnceListener”不相同。

typings/globals/node/index.d.ts(621,22):错误 TS2320:接口“ClientRequest”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“removeListener”不相同。

typings/globals/node/index.d.ts(647,22):错误 TS2320:接口“IncomingMessage”不能同时扩展类型“EventEmitter”和“Readable”。

“EventEmitter”和“Readable”类型的命名属性“addListener”不相同。

typings/globals/node/index.d.ts(647,22):错误 TS2320:接口“IncomingMessage”不能同时扩展类型“EventEmitter”和“Readable”。

“EventEmitter”和“Readable”类型的命名属性“emit”不相同。

typings/globals/node/index.d.ts(647,22):错误 TS2320:接口“IncomingMessage”不能同时扩展类型“EventEmitter”和“Readable”。

“EventEmitter”和“Readable”类型的命名属性“on”不相同。

typings/globals/node/index.d.ts(647,22):错误 TS2320:接口“IncomingMessage”不能同时扩展类型“EventEmitter”和“Readable”。

“EventEmitter”和“Readable”类型的命名属性“once”不相同。

typings/globals/node/index.d.ts(647,22):错误 TS2320:接口“IncomingMessage”不能同时扩展类型“EventEmitter”和“Readable”。

“EventEmitter”和“Readable”类型的命名属性“prependListener”不相同。

typings/globals/node/index.d.ts(647,22):错误 TS2320:接口“IncomingMessage”不能同时扩展类型“EventEmitter”和“Readable”。

“EventEmitter”和“Readable”类型的命名属性“prependOnceListener”不相同。

typings/globals/node/index.d.ts(647,22):错误 TS2320:接口“IncomingMessage”不能同时扩展类型“EventEmitter”和“Readable”。

“EventEmitter”和“Readable”类型的命名属性“removeListener”不相同。

typings/globals/node/index.d.ts(698,18):错误 TS2300:重复标识符“代理”。

Typings/globals/node/index.d.ts(743,18):错误 TS2300:重复标识符“工人”。

typings/globals/node/index.d.ts(1004,22):错误 TS2300:重复标识符“CompleterResult”。

typings/globals/node/index.d.ts(1044,18):错误 TS2300:重复标识符“脚本”。

typings/globals/node/index.d.ts(1323,22):错误 TS2320:接口“服务器”不能同时扩展类型“套接字”和“事件发射器”。

“Socket”和“EventEmitter”类型的命名属性“removeListener”不相同。

typings/globals/node/index.d.ts(1886,18):错误 TS2300:重复标识符“TLSSocket”。

typings/globals/node/index.d.ts(2188,18):错误 TS2420:“Readable”类错误地实现了“ReadableStream”接口。

属性“暂停”的类型不兼容。类型 '() => Readable' 不可分配给类型 '{ (): ReadableStream; (): 可读流;}'。类型“Readable”不可分配给类型“ReadableStream”。“可读”类型中缺少属性“isPaused”。typings/globals/node/index.d.ts(2211,18):错误 TS2420:“可写”类错误地实现了“可写流”接口。

属性“eventNames”的类型不兼容。类型 '() => (string | symbol)[]' 不可分配给类型 '() => string[]'。类型 '(string | symbol)[]' 不能分配给类型 'string[]'。键入'字符串 | 符号'不可分配给类型'字符串'。类型“符号”不可分配给类型“字符串”。typings/globals/node/index.d.ts(2229,18):错误 TS2420:“Duplex”类错误地实现了接口“ReadWriteStream”。

属性“暂停”的类型不兼容。类型 '() => Duplex' 不可分配给类型 '{ (): ReadWriteStream; (): 读写流; }'。“Duplex”类型不能分配给“ReadWriteStream”类型。“双工”类型中缺少属性“isPaused”。typings/globals/node/index.d.ts(2250,18):错误 TS2420:“Transform”类错误地实现了“ReadWriteStream”接口。

属性“暂停”的类型不兼容。类型 '() => Transform' 不可分配给类型 '{ (): ReadWriteStream; (): 读写流; }'。类型“Transform”不可分配给类型“ReadWriteStream”。“转换”类型中缺少属性“isPaused”。Typings/globals/node/index.d.ts(2343,5):错误 TS2300:重复标识符“export=”。

typings/globals/node/index.d.ts(2365,18):错误 TS2300:重复的标识符“域”。

Typings/globals/node/index.d.ts(2365,18):错误 TS2420:“域”类错误地实现了接口“NodeJS.Domain”。

属性“eventNames”的类型不兼容。类型 '() => (string | symbol)[]' 不可分配给类型 '() => string[]'。类型 '(string | symbol)[]' 不能分配给类型 'string[]'。Typings/globals/node/index.d.ts(2625,5):错误 TS2300:重复标识符“export=”。

`

0 投票
1 回答
956 浏览

angularjs - 如何在 Angular(2 或 4)中使用第 3 方 AngularJS(1.6)模块(角度翻译)

案子

我正在将 AngularJS(即 Angular 1.6)应用程序升级到 Angular(即 Angular 4.1.3)。我选择进行增量升级,因此目前 AngularJS 和 Angular 都已引导并运行。到目前为止一切都很好,但是:应该重写为 Angular 的 AngularJS 服务之一依赖于一个众所周知的服务$translate,该服务是第 3 方 AngularJS(阅读 Angular 1)模块pascalprecht.translate的一部分。换句话说,$translate注入的服务MyService应该成为 Angular(阅读 Angular 4)服务。

MyService(精简)看起来像这样:

它位于MyModule

问题

现在,当我是第 3 方 AngularJS 模块的一部分时,如何注入$translate到Angular 模块中?MyServiceMyService$translate

如果 AngularJS 服务位于同一个模块中(或者至少该模块是我自己的解决方案的一部分),我知道如何将 AngularJS 服务注入到 Angular 服务中。官方文档中对此进行了解释。有没有办法处理第三方服务?我需要在MyModule的提供者中注册该服务吗?

还是我试图实现不可能?

0 投票
1 回答
819 浏览

angular - 将 angularjs 表达式绑定与降级的 angular 一起使用

假设我有一个复选框指令,我正在从 angularjs 重写为 angular

checkbox.directive.js (angularjs)

checkbox.component.ts(角度)

如何从尚未升级的组件绑定到表达式绑定 (&)?

尚未升级的.directive.js (angularjs)

0 投票
1 回答
972 浏览

angular - 带有混合应用程序 ng-build 的 Angular CLI

我目前正在使用 Angular CLI 将 AngularJS 应用程序升级为 Angular 应用程序。

我的问题是,当我使用 构建应用程序时ng build,它会将所有文件复制到dist文件夹中,但会忽略所有 AngularJS 文件。对于所有 js 文件,我的解决方案是将它们添加scriptsangular-cli.json. 现在,我只需要处理 html 文件。对于 Angular 应用程序,Angular cli 会自动为我处理它们,但 AngularJS 将保留在dist文件夹之外。我想出的一个解决方案是将它们添加到assets数组中。所以基本上我有两个问题:

  1. 有没有一种方法可以告诉 angular cli.html从某个文件夹构建所有文件?类似的东西:"assets": [ "app/ng1/.*html" ]

  2. 这是最佳实践吗?还是有更好的方法来实现我想要的?

谢谢!

0 投票
2 回答
951 浏览

angularjs - Angular:无法添加属性 resumeBootstrap,对象不可扩展

我有一个升级/混合 AngularJS/Angular 2 应用程序,我收到了这个错误:

未处理的 Promise 拒绝:无法添加属性 resumeBootstrap,对象不可扩展;区域:; 任务:Promise.then;值:TypeError:无法添加属性 resumeBootstrap,对象在 UpgradeModule.bootstrap 中不可扩展(upgrade_module.ts:259)

该位置的源代码是:

我的代码运行良好。引入最新的 Angular 更改似乎是造成这种情况的原因。

这是我的引导代码:

更新:我尝试在 Angular 升级文档示例中将upgrade.bootstrap调用移动到ngDoBootstrapAppModule喜欢的位置,但这并没有改变任何东西。

0 投票
1 回答
329 浏览

angularjs - Angular Hybrid 应用程序(在 Angular 4 中使用 angularjs 过滤器)

我正在使用 Angular 1 应用程序在 Angular 4 应用程序中运行的混合 Angular 应用程序。所有新组件都在 Angular 4 中开发。但是,由于我们在 Angular 1 中有大量遗留代码,我想在 Angular 4 组件中重用一些 Angularjs 过滤器。我们有大量过滤器来处理国际化(日期格式、数字格式、语言等与用户个人资料偏好)。

有没有办法将 Angularjs 过滤器升级为 Angular 4 管道并在 Angular 4 html 模板中重用它们?

0 投票
3 回答
3378 浏览

angularjs - Angular NgUpgrade 将 AngularJS 服务注入 Angular 服务;获取:未处理的承诺拒绝:无法读取未定义的属性“获取”;区:

我在这里看到很多类似的问题,但还没有找到有效的解决方案。我认为正在发生的事情是,因为我们的 Ng2App 首先被引导,它还没有对 $injector 的引用,所以当我尝试在我的提供程序声明中使用它时(deps: ['$injector']),它没有'不存在。

非常奇怪的是,我可以在 Angular COMPONENT 中使用此服务,但由于某种原因不能在 Angular SERVICE 中使用它。

应用程序.js

ng2app.module.ts:

后来......在服务中(失败):

后来......在一个组件中(正常工作):

有谁知道为什么会发生这种情况以及如何解决?

这个问题几乎完全相同,但由于某种原因它不起作用

AngularJS 版本:1.5.8
Angular/core 等版本:4.2.4

这是我在 Angular 存储库中打开的 Github 问题的链接

堆栈跟踪:

0 投票
2 回答
7289 浏览

angular - 如何从 Angular 4.2.4 升级到 Angular 4.3

我在我的应用程序中使用 angular 4.2.4,我想升级到最新版本 (4.3.0)

有没有一种简单安全的方法可以在不破坏我的应用程序的情况下做到这一点?

搜索时,我从以下位置找到了此信息:

http://angularjs.blogspot.de/2017/07/angular-43-now-available.html

该链接指出 Angular 4.3 不包含重大更改?

我想进行升级以使用HttpClient

0 投票
1 回答
4382 浏览

angular - AngularJS v1x。未在混合 angular-cli 应用程序中加载

我正在将 angular-cli 项目与 AngularJS 项目结合起来以缓慢升级应用程序。AngularJS 应用程序已经使用 TypeScript,我让 cli 处理捆绑应用程序。我已经松散地遵循了 Victor Savkin 的shell 升级指南和 AngularJS 指南的官方更新,但遇到了错误。

ngDoBootstrap在下面的模块中调用时,promise 被拒绝并出现以下错误。

导致错误

0 投票
2 回答
1434 浏览

angularjs - Angular UpgradeComponent 找不到 $scope

我有一个混合 angular-cli,大致遵循 Victor Savkin 的Lazy Loaded AngularJS guide。AngularJS 在 LazyLoaded Angular 模块的构造函数中被引导。我的应用程序和指南之间的主要区别是我试图将<ui-view>指令包装在一些 Angular 组件中。由于我的布局是如何构造的,<ui-view>当 AngularJS 被引导时元素将不可用,并且可以随时添加或删除。

当我运行代码时,Error: No provider for $scope!会引发错误。检查堆栈跟踪我可以看到它被抛出在UpgradeComponent超类中。注射器试图得到$scope