离子 – 生成页面失败TypeError:AppScripts.processPageRequest不是一个函数

更新到离子3,但可能没有这样做是正确的。 运行时: $ ionic g page AssetOneTimeList --verbose

我得到以下错误,我似乎无法解决:

 [DEBUG] Loading global plugin @ionic/cli-plugin-proxy [DEBUG] Loading local plugin @ionic/cli-plugin-cordova [DEBUG] Loading local plugin @ionic/cli-plugin-ionic-angular [DEBUG] !!! ERROR ENCOUNTERED !!! TypeError: AppScripts.processPageRequest is not a function [DEBUG] TypeError: AppScripts.processPageRequest is not a function at Object. (/Users/user/App/node_modules/@ionic/cli-plugin-ionic-angular/dist/generate.js:38:41) at Generator.next (<anonymous>) at fulfilled (/Users/user/App/node_modules/@ionic/cli-plugin-ionic-angular/dist/generate.js:4:58) at <anonymous> 

这是删除node_modules /,做一个npm安装,完全重新安装节点和离子。 $ ionic info

 global packages: @ionic/cli-utils : 1.4.0 Cordova CLI : 6.5.0 Ionic CLI : 3.4.0 local packages: @ionic/app-scripts : https://registry.npmjs.org/@ionic/app-scripts/-/app-scripts-1.1.4.tgz @ionic/cli-plugin-cordova : 1.4.0 @ionic/cli-plugin-ionic-angular : 1.3.1 Cordova Platforms : android 6.1.2 ios 4.1.1 Ionic Framework : ionic-angular https://registry.npmjs.org/ionic-angular/-/ionic-angular-2.3.0.tgz System: Node : v8.1.3 OS : macOS Sierra Xcode : Xcode 8.3.3 Build version 8E3004b ios-deploy : 1.9.1 ios-sim : 5.0.13 npm : 5.0.3 

的package.json:

 { "name": "ionic-hello-world", "author": "Ionic Framework", "homepage": "http://ionicframework.com/", "private": true, "scripts": { "clean": "ionic-app-scripts clean", "build": "ionic-app-scripts build", "ionic:build": "ionic-app-scripts build", "ionic:serve": "ionic-app-scripts serve" }, "dependencies": { "@angular/common": "2.4.8", "@angular/compiler": "2.4.8", "@angular/compiler-cli": "2.4.8", "@angular/core": "2.4.8", "@angular/forms": "2.4.8", "@angular/http": "2.4.8", "@angular/platform-browser": "2.4.8", "@angular/platform-browser-dynamic": "2.4.8", "@angular/platform-server": "2.4.8", "@ionic-native/core": "^3.11.0", "@ionic-native/splash-screen": "^3.11.0", "@ionic-native/status-bar": "^3.11.0", "@ionic/cloud-angular": "^0.11.0", "@ionic/storage": "2.0.0", "cordova-plugin-console": "1.0.5", "cordova-plugin-device": "1.1.4", "cordova-plugin-splashscreen": "~4.0.1", "cordova-plugin-statusbar": "2.2.1", "cordova-plugin-whitelist": "1.3.1", "cordova-sqlite-storage": "~2.0.2", "ionic-angular": "2.3.0", "ionic-plugin-keyboard": "~2.2.1", "ionicons": "3.0.0", "moment": "^2.18.1", "rxjs": "5.0.1", "sw-toolbox": "3.4.0", "uuid": "^3.0.1", "zone.js": "0.7.2" }, "devDependencies": { "@ionic/app-scripts": "1.3.4", "@ionic/cli-plugin-cordova": "1.4.0", "@ionic/cli-plugin-ionic-angular": "1.3.1", "typescript": "2.0.9" }, "cordovaPlugins": [ "cordova-plugin-whitelist", "cordova-plugin-console", "cordova-plugin-statusbar", "cordova-plugin-device", "cordova-plugin-splashscreen", "ionic-plugin-keyboard" ], "cordovaPlatforms": [ "ios", { "platform": "ios", "version": "", "locator": "ios" } ], "description": "Description: An Ionic project", "cordova": { "plugins": { "cordova-plugin-console": {}, "cordova-plugin-device": {}, "cordova-plugin-splashscreen": {}, "cordova-plugin-statusbar": {}, "cordova-plugin-whitelist": {}, "cordova-sqlite-storage": {}, "ionic-plugin-keyboard": {} } } } 

任何和所有的帮助表示赞赏!

感谢suraj ,我看着更新应用程序脚本到@latest:

 $ npm install @ionic/app-scripts@latest 

这警告说,fsevents和typecript不兼容,所以我更新了这些:

 $ npm install fsevents@latest && npm install typescript@latest 

试图再次更新应用程序脚本来validation警告消失

 $ npm install @ionic/app-scripts@latest 

这失败了,所以我吹走了node_modules并重新npm installnpm install

 $ rm -rf node_modules/ $ npm install 

和中提琴! 我可以ionic generate page

 $ ionic g page MyPage --verbose [DEBUG] Loading global plugin @ionic/cli-plugin-proxy [DEBUG] Throwing PLUGIN_NOT_INSTALLED for global @ionic/cli-plugin-proxy [DEBUG] Loading local plugin @ionic/cli-plugin-cordova [DEBUG] Loading local plugin @ionic/cli-plugin-ionic-angular [OK] Generated a page named MyPage! 

不幸的是,这现在打破了ionic serve的错误:

 typescript: node_modules/ionic-angular/navigation/nav-controller-base.d.ts, line: 20 Class 'NavControllerBase' incorrectly implements interface 'NavController'. Types of property 'popTo' are incompatible. Type '(indexOrViewCtrl: any, opts?: NavOptions, done?: Function) => Promise<any>' is not assignable to type '(page: any, params?: any, opts?: NavOptions, done?: Function) => Promise<any>'. Types of parameters 'done' and 'opts' are incompatible. Type 'NavOptions' is not assignable to type 'Function'. Property 'apply' is missing in type 'NavOptions'. L20: export declare class NavControllerBase extends Ion implements NavController { L21: parent: any; typescript: node_modules/rxjs/Subject.d.ts, line: 16 Class 'Subject<T>' incorrectly extends base class 'Observable<T>'. Types of property 'lift' are incompatible. Type '<R>(operator: Operator<T, R>) => Observable<T>' is not assignable to type '<R>(operator: Operator<T, R>) => Observable<R>'. Type 'Observable<T>' is not assignable to type 'Observable<R>'. Type 'T' is not assignable to type 'R'. L16: export declare class Subject<T> extends Observable<T> implements ISubscription { L17: observers: Observer<T>[]; 

以下的build议我降级到typescript@2.3.4 npm install typescript@2.3.4和现在ionic serveionic g page工作。 唷!

Interesting Posts