
\u6700\u8fd1\u5728\u8003\u8651\u662f\u4e0d\u662f Android \u548c iOS \u76f4\u63a5\u7528 Ionic \u5f00\u53d1\uff0c\u63d0\u9ad8\u6548\u7387\u3002\n\u7528\u8fc7\u7684\u8001\u94c1\u6709\u7ecf\u9a8c\u53ef\u4ee5\u5206\u4eab\u5417\uff1f\u5404\u5e73\u53f0\u5355\u72ec\u5f00\u53d1\u6216\u8005\u7528 Uiapp/Flutter \u4f1a\u4e0d\u4f1a\u66f4\u597d\uff1f
\n" }, { "author": { "url": "member/coloz", "name": "coloz", "avatar": "https://cdn.v2ex.com/static/img/avatar_large.png" }, "url": "t/650768", "date_modified": "2020-03-07T12:20:45+00:00", "content_html": "\u8fd9\u51e0\u5929\u4e86\u89e3\u4e86\u4e0b qiankun\\single-spa\\icestark\\mooa\\ngx-planet
\n\u4f46\u611f\u89c9\u90fd\u662f\u4e3a\u4e86\u89e3\u51b3 web \u7aef\u5f00\u53d1\u800c\u8bbe\u8ba1\u7684\uff0c\u6709\u66f4\u9002\u5408 app \u7684\u65b9\u6848\u4e48\uff1f
\u76ee\u524d app \u4f7f\u7528 iframe+postmessage \u5b9e\u73b0\u5fae\u524d\u7aef\uff0c\u7528\u5230\u65f6\u6ca1\u95ee\u9898\uff0c\u4f46\u60f3\u5bfb\u6c42\u4e0b\u66f4\u597d\u7684\u89e3\u51b3\u65b9\u6848\uff0c\u6c42\u5927\u4f6c\u4eec\u5206\u4eab\u4e0b\u7ecf\u9a8c\u3002
\n", "date_published": "2020-03-07T12:19:53+00:00", "title": "cordova/ionic App \u5b9e\u73b0\u5fae\u524d\u7aef\uff0c\u6c42\u4e2a\u6700\u4f73\u5b9e\u8df5", "id": "t/650768" }, { "author": { "url": "member/Wilon", "name": "Wilon", "avatar": "https://cdn.v2ex.com/avatar/0f8b/7aec/82351_large.png?m=1416314617" }, "url": "t/352864", "date_modified": "2019-12-31T05:07:04+00:00", "content_html": "RT \uff0c\u6700\u597d\u662f\u4f7f\u7528 16 \u5e74\u4e4b\u540e\u7684 ionic \u6846\u67b6\uff0c\u501f\u4e2a\u53c2\u8003\uff0c\u770b\u770b ionic \u7684\u539f\u751f\u4f53\u9a8c\u600e\u4e48\u6837
\n", "date_published": "2017-04-06T02:36:29+00:00", "title": "\u6709\u8c01\u77e5\u9053\u4f7f\u7528 ionic \u6846\u67b6\u7684 APP \u5417\uff1f", "id": "t/352864" }, { "author": { "url": "member/gulullu", "name": "gulullu", "avatar": "https://cdn.v2ex.com/avatar/51ae/37db/75345_large.png?m=1753845097" }, "url": "t/342928", "date_modified": "2019-12-31T05:07:10+00:00", "content_html": "\u57fa\u7c7b\uff1a
\nimport { LoginPage } from './../login/login/login';\nimport { AccountData } from './../../storages/account_data';\nimport { Component, Injectable } from '@angular/core';\nimport { NavController, NavParams, Platform, ViewController } from 'ionic-angular';\n/*\n Generated class for the Base page.\n\n See http://ionicframework.com/docs/v2/components/#navigation for more info on\n Ionic pages and navigation.\n*/\n\n@Component({\n selector: 'page-base',\n templateUrl: 'base.html'\n})\nexport abstract class BasePage {\n needLogin = false;\n\n constructor(protected accountData: AccountData, protected nav: NavController) { }\n\n push(page: any) {\n this.accountData.hasLoggedIn().subscribe(hasLoggedIn => {\n if (hasLoggedIn) {\n this.nav.push(page);\n } else {\n if (page.needLogin) {\n this.nav.push(LoginPage);\n } else {\n this.nav.push(page)\n }\n }\n });\n }\n\n pop() {\n this.nav.pop();\n }\n\n setRoot(page: any) {\n this.nav.setRoot(page);\n }\n}\n\n\u7ee7\u627f\u8be5\u57fa\u7c7b\u7684\uff1a
\nimport { AccountData } from './../../storages/account_data';\nimport { BasePage } from './../base/base';\nimport { Component } from '@angular/core';\nimport { NavController, NavParams } from 'ionic-angular';\n\n/*\n Generated class for the Discover page.\n\n See http://ionicframework.com/docs/v2/components/#navigation for more info on\n Ionic pages and navigation.\n*/\n@Component({\n selector: 'page-discover',\n templateUrl: 'discover.html'\n})\nexport class DiscoverPage extends BasePage {\n\n constructor(protected accountData: AccountData, protected navCtrl: NavController, ) {\n super(accountData, navCtrl);\n }\n\n}\n\n\n\u8fd0\u884cionic serve\u540e\u62a5\u9519\uff1a\nUncaught TypeError: Object prototype may only be an Object or null: undefined at setPrototypeOf ()
\u4f46\u662f\u5982\u679c\u7236\u7c7b\u7684\u6784\u9020\u65b9\u6cd5\u4e3a\u7a7a\u7684\u8bdd\u4e00\u5207\u6b63\u5e38\uff0c\u6c42\u89e3\u3002
\n", "date_published": "2017-02-24T07:15:00+00:00", "title": "ionic 2 \u5982\u4f55\u7ee7\u627f\u4e00\u4e2a\u5df2\u7ecf\u4f9d\u8d56\u6ce8\u5165 service \u7684\u57fa\u7c7b\uff1f", "id": "t/342928" }, { "author": { "url": "member/qweweretrt515", "name": "qweweretrt515", "avatar": "https://cdn.v2ex.com/gravatar/c60934dfa92c535135851924480dba33?s=73&d=retro" }, "url": "t/310518", "date_modified": "2016-10-04T07:24:07+00:00", "content_html": "\u8f6c\u8f7d https://github.com/XueRainey/ionic2\rOS X 10.11.3
\nnode 4.3.1
\nnpm 2.14.12
$ sudo npm install -g ionic\n/usr/local/bin/ionic -> /usr/local/lib/node_modules/ionic/bin/ionic\n\n> node-sass@3.4.2 install /usr/local/lib/node_modules/ionic/node_modules/node-sass\n> node scripts/install.js\n\nshell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied\npath.js:424\n var path = (i >= 0) ? arguments[i] : process.cwd();\n ^\n\nError: EACCES: permission denied, uv_cwd\n at Error (native)\n at Object.posix.resolve (path.js:424:50)\n at startup (node.js:91:32)\n at node.js:962:3\nnpm ERR! Darwin 15.3.0\nnpm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "ionic"\nnpm ERR! node v4.3.1\nnpm ERR! npm v2.14.12\nnpm ERR! code ELIFECYCLE\n\nnpm ERR! node-sass@3.4.2 install: `node scripts/install.js`\nnpm ERR! Exit status 1\nnpm ERR!\nnpm ERR! Failed at the node-sass@3.4.2 install script 'node scripts/install.js'.\nnpm ERR! This is most likely a problem with the node-sass package,\nnpm ERR! not with npm itself.\nnpm ERR! Tell the author that this fails on your system:\nnpm ERR! node scripts/install.js\nnpm ERR! You can get their info via:\nnpm ERR! npm owner ls node-sass\nnpm ERR! There is likely additional logging output above.\n\nnpm ERR! Please include the following file with any support request:\nnpm ERR! /Users/elviscai/npm-debug.log\n\u6587\u6863\u4f3c\u4e4e\u8bf4\u53ef\u4ee5\u554a\u2026\u2026\u7136\u800c\u6211\u5728\u6211\u7684 MIUI \u4e0a\u5e76\u6ca1\u6709\u8bd5\u9a8c\u6210\u529f\u2026\u2026
\n\u987a\u4fbf\u670d\u52a1\u7aef\u4e0d\u53ef\u63a7\u800c\u4e14\u5bf9\u6e90 IP \u654f\u611f\u2026\u2026
\u62ff\u4e0b\u4e00\u8840\uff0c\u81ea\u7136\u8981\u6765\u63a8\u5e7f\u4e0b\u6211\u4eec\u7684ionic \u4e2d\u6587\u793e\u533a\u5566\uff0c\u560e\u560e~
\n\nIonicframework \u4e00\u6b3e\u514d\u8d39\u7684HTML5\u5f00\u6e90SDK\uff0c\u53ef\u4ee5\u7528\u6765\u5f00\u53d1\u6df7\u5408\u624b\u673a\u5e94\u7528\u3002
\n\nIonichina \u793e\u533a\u662f\u5168\u7403\u6700\u5927\u7684 Ionicframework \u4e2d\u6587\u5f00\u6e90\u6280\u672f\u793e\u533a\uff0c\u81f4\u529b\u4e8e Ionicframework \u5728\u4e2d\u56fd\u7684\u5b66\u4e60\u3001\u63a8\u5e7f\u3001\u7814\u7a76\u5de5\u4f5c\u3002
\n\nIonichina \u793e\u533a\u6b63\u5728\u52aa\u529b\u5efa\u8bbe\u4e2d\uff0c\u867d\u7136\u6211\u4eec\u8fd8\u4e0d\u725b\u00d7\uff0c\u4f46\u662f\u8bf7\u770b\u6211\u575a\u6bc5\u800c\u7eaf\u6d01\u7684\u53cc\u773c\uff0c\u76f8\u4fe1\u6211\u4eec\u6b63\u5728\u4e3a\u4e86\u725b\u00d7\u800c\u52aa\u529b~
\n\nIonichina \u793e\u533a\u91c7\u7528cnodejs\u793e\u533a\u5f00\u6e90\u7684nodeclub\u6846\u67b6\u642d\u5efa\uff0c\u5e76\u4e14\u5df2\u7ecf\u5f97\u5230\u4e86\u4e03\u725b\u7684\u4e91\u5b58\u50a8\u548cUcloud\u7684\u670d\u52a1\u5668\u3001\u5e26\u5bbd\u8d5e\u52a9\u3002
\n\n\u793e\u533a\u7533\u8bf7\u5230\u4e86 Ionic \u5728\u4e2d\u56fd\u5730\u533a\u7ec4\u7ec7\u8005\u7684\u8eab\u4efd\uff0c\u5b98\u65b9\u8fd9\u7bc7\u535a\u5ba2\u91cc\u6709\u4ecb\u7ecd\uff0c\u5176\u4e2d\u63d0\u5230 Ionic China\u5c31\u662f\u672c\u793e\u533a\u5728\u7ef4\u62a4\u3002
\n\nIonichina \u793e\u533a\u8857\u9053\u529e\u4e8b\u5904 (http://ionichina.com/)
\n\u656c\u4e0a