尝试将IONIC应用程序从版本3升级到版本4
时发生将所有插件和模块更新为最新版本,没有任何运气。
ERROR in ./node_modules/ionic-angular/components/app/app.js 24:35-43
"export 'DOCUMENT' was not found in '@angular/platform-browser'
ERROR in ./node_modules/ionic-angular/module.js 195:71-79
"export 'DOCUMENT' was not found in '@angular/platform-browser'
[ERROR] An error occurred while running subprocess ng.
这是我的离子信息
Ionic info:
Ionic:
Ionic CLI : 5.1.0 (C:\Users\Acer\AppData\Roaming\npm\node_modules\ionic)
Ionic Framework : @ionic/angular 4.6.0
@angular-devkit/build-angular : 0.800.6
@angular-devkit/schematics : 8.0.6
@angular/cli : 8.0.6
@ionic/angular-toolkit : 2.0.0
Cordova:
Cordova CLI : 9.0.0 (cordova-lib@9.0.1)
Cordova Platforms : not available
Cordova Plugins : not available
Utility:
cordova-res : 0.5.1
native-run : 0.2.6
System:
Android SDK Tools : 26.1.1 (C:\Users\Acer\AppData\Local\Android\sdk)
NodeJS : v10.11.0 (C:\Program Files\nodejs\node.exe)
npm : 6.9.2
OS : Windows 10
不胜感激,有人可能会有所帮助。
答案 0 :(得分:4)
我在迁移到angular 8.x.x时遇到了这个问题。
实际上,“文档”已从'@angular/platform-browser'
中弃用,现在已成为'@angular/common'
的一部分。
较旧的插件仍尝试从'@angular/platform-browser'
导入文档。只需在node_modules部分的插件的'fesm5'和'fesm2015'文件夹下检入.js和.js.map文件。
更好地将特定插件更新为最新的角度兼容版本。
在我看来,麻烦的插件是'ngx-clipboard'
。
答案 1 :(得分:3)
DOCUMENT已从@ angular / platform-browser中删除如果您从@ angular / platform-browser中使用DOCUMENT,则应开始从@ angular / common导入。
直到回购将其修复,您可以按照以下步骤为您修复它...
IN
\ node_modules \ ionic-angular \ components \ app \ app.js
替换
import { DOCUMENT, Title } from '@angular/platform-browser';
使用
import { DOCUMENT } from '@angular/common';
import { Title } from '@angular/platform-browser';
然后输入
\ node_modules \ ionic-angular \ module.js
替换
import { DOCUMENT, HAMMER_GESTURE_CONFIG } from '@angular/platform-browser';
使用
import { DOCUMENT } from '@angular/common';
import { HAMMER_GESTURE_CONFIG } from '@angular/platform-browser';
答案 2 :(得分:1)
您似乎正在尝试将Ionic项目从v3内联升级到v4,而不是创建新的v4项目并迁移旧代码。
请参阅迁移指南:https://ionicframework.com/docs/building/migration。具体的建议是:
迁移应用程序以利用这种新布局时,它是 建议使用CLI创建一个新项目“ base”。然后,用 新的项目布局,通过以下方式迁移应用程序的功能 片。页面/组件/等应该移到src / app /文件夹中。
如果您尝试通过在当前项目中保留代码并在当前项目中安装@ ionic / angular而不是创建一个新项目,然后逐个功能地复制代码来进行尝试,那么您将遇到很多问题。如果您正在这样做,我建议您开始采用上述策略。亲自完成其中的一些操作,这是迄今为止最好的选择。
答案 3 :(得分:0)
在此“ \ node_modules \ ionic-angular \ module.js”和&app.js文件中,我们无法更改 如果我们要手动改变的话,那会花费很多;
所以我建议使用角度功能的BehaviorSubject,我们可以在任何其他组件中更改其值
page.ts //组件
从'rxjs'导入{BehaviorSubject};
public status = new BehaviorSubject('');
currentStatus = this.status.asObservable()
; //在出口类服务中编写此代码
changeStatus(status){
console.log('current status from common services:',status)
this.status.next(status); // pass value to public observable variable
}
您可以在其他组件中订阅响应