ã€ãªã³ããŒãžã§ã³ïŒ
[x] 4.x
@ ionic / vue @ 0.0.4ãŸãã¯vue @ next
çŸåšã®åäœïŒ
Ionic / [email protected]ã§éçºãããvueã¢ããªãæŽæ°ãã
npm install
node_modulesãã©ã«ããŒãåé€ããåŸã次ã®ãšã©ãŒãçºçããŸãã
Uncaught TypeError: Cannot convert undefined or null to object
at Function.keys (<anonymous>)
at addIcons (chunk-ea2b3dce.js?d602:13)
at appInitialize (ionic-vue.esm.js?481b:279)
at Object.install (ionic-vue.esm.js?481b:687)
at Function.Vue.use (vue.runtime.esm.js?2b0e:5101)
at eval (main.js?56d7:12)
at Module../src/main.js (app.js:10193)
at __webpack_require__ (app.js:767)
at fn (app.js:130)
at Object.1 (app.js:10267)
äºæ³ãããè¡åïŒ
ã€ãªãã³ã³ãããŒãã§ããå¿
èŠããããŸãã @ ionic / core @ [email protected]ãäŸåé¢ä¿ã§ããå Žåãããã¯å®å
šã«core @ ionicons @ 4.5.10-2ã«ãªãã@ ionic / vue @ 0.0.4ãšvue @nextã®äž¡æ¹ã§å€±æããŸãã
åçŸããæé ïŒ
é¢é£ã³ãŒãïŒ
èŠã
https://github.com/jepiqueau/vue-test-stencil-svgpaths-morphing
倱æãã
èŠã
https://github.com/jepiqueau/vue-test-stencil-colorpicker
åäœããŸã
insert short code snippets here
ãã®ä»ã®æ
å ±ïŒ
ã€ãªã³æ
å ±ïŒ
Ionic:
Ionic CLI : 5.0.2
Utility:
cordova-res : not installed
native-run : not installed
System:
NodeJS : v10.15.3
npm : 6.9.0
OS : macOS Mojave
åãåé¡ãçºçããŠããŸãã ionic serve
å®è¡æã«è¡šç€ºãããèŠåã«é¢é£ããŠããå¯èœæ§ããããŸãã
warning in ./node_modules/@ionic/vue/dist/ionic-vue.esm.js
"export 'ICON_PATHS' was not found in 'ionicons/icons'
ãã£ã¡ãäžç·ã æ°ããäœæããã¢ããªãæäŸããããšã¯ã§ããŸããã
ç§ãèŠã€ããåé¿çã¯ãæåã«ã€ã³ã¹ããŒã«ããããšã§ã
npm install @ionic/core<strong i="6">@one</strong>
npm install @ionic/[email protected]
main.jsãã¡ã€ã«ãå€æŽããŸã
import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";
//import Ionic from "@ionic/vue"; // comment this line
import { defineCustomElements as ionic } from "@ionic/core/loader"; // add a direct link to @ionic/core
import { defineCustomElements as svgmorphing } from "stencil-svgpaths-morphing/dist/loader";
import "@ionic/core/css/ionic.bundle.css";
//Vue.config.ignoredElements = [/jeep-\w*/]; // comment this line
Vue.config.ignoredElements = [/^ion-/, /^jeep-/]; // add this line
//Vue.use(Ionic); // comment this line
ionic(window); // add this line
svgmorphing(window);
Vue.config.productionTip = false;
new Vue({
router,
store,
render: h => h(App)
}).$mount("#app");
ãããŠããã¡ã€ã«router.jsããã®ãŸãŸã«ããŠãIonicVueRouterãåŒãç¶ã䜿çšããããšãæå³ããŸãã
ãããŠããã¯ããŸããããŸãã
ããã§ãpackage-lock.jsonãèŠããšã
@ionic/core is version "4.6.0-dev.201906131724.645b9a9" requiring "ionicons": "4.5.9-1"
@ionic/vue is version 0.0.4 with dependencies @ionic/[email protected] requiring "ionicons": "4.5.10-2
å®éãã¢ã€ã³ã³ã衚瀺ããã«ã¯ãmain.jsã¯æ¬¡ã®ããã«ãªããŸãã
import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";
import { defineCustomElements as ionic } from "@ionic/core/loader"; // added line
import { defineCustomElements as svgmorphing } from "stencil-svgpaths-morphing/dist/loader";
//import Ionic from "@ionic/vue"; // commented line
import { addIcons } from "ionicons"; // added line
import { ICON_PATHS } from "ionicons/icons"; // added line
import "@ionic/core/css/ionic.bundle.css";
//Vue.config.ignoredElements = [/jeep-\w*/]; // commented line
Vue.config.ignoredElements = [/^ion-/, /^jeep-/]; // added line
//Vue.use(Ionic); // commented line
ionic(window); // added line
svgmorphing(window);
addIcons(ICON_PATHS); // added line
Vue.config.productionTip = false;
new Vue({
router,
store,
render: h => h(App)
}).$mount("#app");
ããã§ã¢ã€ã³ã³ã衚瀺ãããŸã
ããã¯ã@ ionic / vueã@ionic / core @oneã«æŽæ°ããããŸã§ã®åé¿çãšããŠäœ¿çšã§ããŸãã
å®å šãªå®è£ ã«ã€ããŠã¯ãåç §ããŠãã ãã
https://github.com/jepiqueau/vue-test-stencil-svgpaths-morphing/tree/ionicone
ç§ã¯åãåé¡ã«çŽé¢ããŠããŸãã æ°ããäœæããã¢ããªãæäŸããããšã¯ã§ããŸããã
ãã£ã¡ãäžç·
äžæçã«ã
ç§ã¯ãããè¡ããŸããããããŠã¢ããªã¯ç§ã®ããã«åããŸããããããããã¯æ£ãã解決çã§ã¯ãããŸããããããããªãã¯ããªãã®ä»äºãç¶ããããšãã§ããããã«ä»ãããããããšãã§ããŸã
ãããã®ãã¡ã€ã«ãèŠã€ãããªãå Žåã¯ããããžã§ã¯ããã£ã¬ã¯ããªã«ç§»åããã³ã³ãã¥ãŒã¿/ã©ããæ€çŽ¢ãããã¡ã€ã«ã®åãå³ã«æ€çŽ¢ããŸãã ïŒionic-vue.esm.js write-> ionicãæ€çŽ¢ãããšãionicã§å§ãŸããã¹ãŠã®ãã¡ã€ã«/ãã©ã«ããŒã衚瀺ãããŸãããã®å Žåã¯ãæ¢ããŠãããã¡ã€ã«ãéžæããŠãã ããïŒionic-vue.esm.jsãéžæããå¿ èŠããããŸãïŒã ã
Abdlrahmansaberã®äžæä¿®æ£ã¯æ©èœããŸããã
ïŒåœŒã¯ãå
±ââéãã§ã¯ãªããã³ã¡ã³ãããæå³ããŸãïŒããªãã¯åœŒãã¹ã¯ãªãŒã³ã·ã§ããã§ã³ã¡ã³ãã¢ãŠãããè¡ãã³ã¡ã³ãã¢ãŠãããããšæããŸãã
ããããšããšã€ããªã¢ã³:)
ããããç§ã¯ãã®ãã°ã®çç±ãç¥ã£ãŠããŸã
{ICON_PATH}ãã€ã³ããŒãããããšããŠãäœãè¿ãããªããããã³ã³ãœãŒã«ã§å°å·ããããšãããšäœãè¿ãããŸããã
@Adrianmed @Abdlrahmansaberã¯ããåäœããŸããã¢ã€ã³ã³ã匷å¶çµäºãããããããã¯ãªãªãŒã¹ãããã¢ããªã®äžæçãªè§£æ±ºçã§ã¯ãããŸãã:)
@Abdlrahmansaberã®ãœãªã¥ãŒã·ã§ã³ãé©çšããŸããã ããããããã¯æ£ããæ©èœããŠããŸããïŒã³ã³ãã€ã«èŠåãšã³ã³ãœãŒã«ãšã©ãŒãæ¶ããŸããïŒã
ç§ã¯ããããã©ããŒããããšããŠããŸãïŒ https ïŒ
ããããç§ãè¿œå ããç¬éã«
import Ionic from '@ionic/vue';
import '@ionic/core/css/ionic.bundle.css';
Vue.use(Ionic);
main.jsã«ç§ãåŸãã®ã¯ãã空çœã®ãããŒãžã ãã§ãã
çŸåšã®äŸåé¢ä¿ã®ããŒãžã§ã³ïŒ
ãäŸåé¢ä¿ãïŒ{
"@ ionic / vue"ïŒ "0.0.4"ã
"vue"ïŒ "^ 2.6.10"ã
"vue-router"ïŒ "^ 3.0.3"
}ã
"devDependencies"ïŒ{
"@ vue / cli-service"ïŒ "^ 3.8.0"ã
"vue-template-compiler"ïŒ "^ 2.6.10"
}
@Abdlrahmansaberã®ãœãªã¥ãŒã·ã§ã³ãé©çšããŸããã ããããããã¯æ£ããæ©èœããŠããŸããïŒã³ã³ãã€ã«èŠåãšã³ã³ãœãŒã«ãšã©ãŒãæ¶ããŸããïŒã
ç§ã¯ããããã©ããŒããããšããŠããŸãïŒ https ïŒ
ããããç§ãè¿œå ããç¬éã«import Ionic from '@ionic/vue'; import '@ionic/core/css/ionic.bundle.css'; Vue.use(Ionic);
main.jsã«ç§ãåŸãã®ã¯ãã空çœã®ãããŒãžã ãã§ãã
çŸåšã®äŸåé¢ä¿ã®ããŒãžã§ã³ïŒ
ãäŸåé¢ä¿ãïŒ{
"@ ionic / vue"ïŒ "0.0.4"ã
"vue"ïŒ "^ 2.6.10"ã
"vue-router"ïŒ "^ 3.0.3"
}ã
"devDependencies"ïŒ{
"@ vue / cli-service"ïŒ "^ 3.8.0"ã
"vue-template-compiler"ïŒ "^ 2.6.10"
}
ç·šéïŒããªãã®åŒçšãããã€ã³ããŒãã§ããããã¯ç§ã«ã¯ããŸããããŸã
2æ¥åã«ææ¡ãããã®ã䜿çšããå¿ èŠããããŸãããã¯æ©èœããã¢ã€ã³ã³ã衚瀺ãããŸã
@wannymiarelliã¢ã€ã³ã³ã
ãããŠãããªãã¯æ£ããã§ããããã¯ãªãªãŒã¹ãããã¢ããªã®è§£æ±ºçã§ã¯ãããŸãã
@mbilbaoã³ã³ãœãŒã«ãèŠããŠãããŸãããã
package-lock.jsonã®ioniconsããŒãžã§ã³ãå€æŽããããšã§ããã解決ããŸã
ããããå®éã«ã¯æ°ããnpmã€ã³ã¹ããŒã«ã§åäœããã¯ãã§ã
@mbilbaoã³ã³ãœãŒã«ãèŠããŠãããŸãããã
ãããã³ã³ãœãŒã«ã¯ã¯ãªã¢ã§ããšã©ãŒãèŠåããŸãã¯è©³çŽ°ã¢ãŒãããã§ãã¯ãããšãã«è¡šç€ºããããã®ã¯äœããããŸããã§ããã
@daarioautumnãæçš¿ããããã«ãç§ã¯ãã§ã«ioniconsããã±ãŒãžãããŠã³ã°ã¬ãŒãããŸããã
ãšã«ãã@Abdlrahmansaberããããšãã
package.jsonã«[email protected]
ãè¿œå ããã ãã§ãã ããã¯ãã¢ã®äŸåé¢ä¿ãäžæžãããã ãã§ãããåé¿çãšããŠäœ¿çšã§ããŸãã
åãåé¡...ãããä¿®æ£ããæ¹æ³ã¯ïŒ
@Abdlrahmansaberã®ãœãªã¥ãŒã·ã§ã³ãé©çšããŸããã ããããããã¯æ£ããæ©èœããŠããŸããïŒã³ã³ãã€ã«èŠåãšã³ã³ãœãŒã«ãšã©ãŒãæ¶ããŸããïŒã
ç§ã¯ããããã©ããŒããããšããŠããŸãïŒ https ïŒ
ããããç§ãè¿œå ããç¬éã«import Ionic from '@ionic/vue'; import '@ionic/core/css/ionic.bundle.css'; Vue.use(Ionic);
main.jsã«ç§ãåŸãã®ã¯ãã空çœã®ãããŒãžã ãã§ãã
çŸåšã®äŸåé¢ä¿ã®ããŒãžã§ã³ïŒ
ãäŸåé¢ä¿ãïŒ{
"@ ionic / vue"ïŒ "0.0.4"ã
"vue"ïŒ "^ 2.6.10"ã
"vue-router"ïŒ "^ 3.0.3"
}ã
"devDependencies"ïŒ{
"@ vue / cli-service"ïŒ "^ 3.8.0"ã
"vue-template-compiler"ïŒ "^ 2.6.10"
}
@mbilbaoåãåé¡ããããŸãã ä¿®æ£ã¯èŠã€ãããŸãããïŒ
åãåé¡ããããŸãã 解決çãèŠã€ããããã«ã€ã³ã¿ãŒãããã§æ°æé調ã¹ãŸãããããã®åé¡ã解決ããé©åãªæ¹æ³ãèŠã€ãããŸããã§ããã 誰ããç§ãå©ããããšãã§ããŸããïŒ
@Abdlrahmansaberã®ãœãªã¥ãŒã·ã§ã³ãé©çšããŸããã ããããããã¯æ£ããæ©èœããŠããŸããïŒã³ã³ãã€ã«èŠåãšã³ã³ãœãŒã«ãšã©ãŒãæ¶ããŸããïŒã
ç§ã¯ããããã©ããŒããããšããŠããŸãïŒ https ïŒ
ããããç§ãè¿œå ããç¬éã«import Ionic from '@ionic/vue'; import '@ionic/core/css/ionic.bundle.css'; Vue.use(Ionic);
main.jsã«ç§ãåŸãã®ã¯ãã空çœã®ãããŒãžã ãã§ãã
çŸåšã®äŸåé¢ä¿ã®ããŒãžã§ã³ïŒ
ãäŸåé¢ä¿ãïŒ{
"@ ionic / vue"ïŒ "0.0.4"ã
"vue"ïŒ "^ 2.6.10"ã
"vue-router"ïŒ "^ 3.0.3"
}ã
"devDependencies"ïŒ{
"@ vue / cli-service"ïŒ "^ 3.8.0"ã
"vue-template-compiler"ïŒ "^ 2.6.10"
}@mbilbaoåãåé¡ããããŸãã ä¿®æ£ã¯èŠã€ãããŸãããïŒ
ã¯ãã @ daarioautumnã®ãœãªã¥ãŒã·ã§ã³ãé©çšããŸãããioniconsããã±ãŒãžã4.5.8ã«ããŠã³ã°ã¬ãŒãããã ãã§ãã
@ yasin-mesutãœãªã¥ãŒã·ã§ã³ã¯ç§ã®ããã«åããŸã
@ yasin-mesutãææ¡ããããã«ãã€ãªã³ããã±ãŒãžãã€ã³ã¹ããŒã«ããã ãã§ãïŒ npm install [email protected] --save-dev
@jepiqueauããªãã®åé¿çã¯ç§ã®ããã«åããããä»ç§ã¯ç§ã®ã¢ããªã®ãã¹ãŠã®ã€ãªã³ã¢ã€ãã ã®æåŸã«ã³ã³ãã³ããè¿œå ããŸããïŒ
ãã®åé¡ãçºçããŸãããïŒ ããªãã¯ããã解決ããæ¹æ³ãç¥ã£ãŠããŸããïŒ
Angularã§éåžžã®Ionicã«ç§»è¡ããŸããã ããããç§ã¯ãŸã æ²ããvueãã¬ãŒã ã¯ãŒã¯ã§ç§ã®ãããžã§ã¯ããéçºãããã§ã
@Abdlrahmansaberã®ãœãªã¥ãŒã·ã§ã³ãé©çšããŸããã ããããããã¯æ£ããæ©èœããŠããŸããïŒã³ã³ãã€ã«èŠåãšã³ã³ãœãŒã«ãšã©ãŒãæ¶ããŸããïŒã
ç§ã¯ããããã©ããŒããããšããŠããŸãïŒ https ïŒ
ããããç§ãè¿œå ããç¬éã«import Ionic from '@ionic/vue'; import '@ionic/core/css/ionic.bundle.css'; Vue.use(Ionic);
main.jsã«ç§ãåŸãã®ã¯ãã空çœã®ãããŒãžã ãã§ãã
çŸåšã®äŸåé¢ä¿ã®ããŒãžã§ã³ïŒ
ãäŸåé¢ä¿ãïŒ{
"@ ionic / vue"ïŒ "0.0.4"ã
"vue"ïŒ "^ 2.6.10"ã
"vue-router"ïŒ "^ 3.0.3"
}ã
"devDependencies"ïŒ{
"@ vue / cli-service"ïŒ "^ 3.8.0"ã
"vue-template-compiler"ïŒ "^ 2.6.10"
}@mbilbaoåãåé¡ããããŸãã ä¿®æ£ã¯èŠã€ãããŸãããïŒ
ã¯ãã @ daarioautumnã®ãœãªã¥ãŒã·ã§ã³ãé©çšããŸãããioniconsããã±ãŒãžã4.5.8ã«ããŠã³ã°ã¬ãŒãããã ãã§ãã
ç§ã¯ãã®ã¹ã¿ã€ã«ãèŠã€ããŸããïŒ
html:not(.hydrated) body {
display: none;
}
ããã¯ã@ ionic /[email protected]ã䜿çšããããšã§è§£æ±ºãã
ææ°ããŒãžã§ã³ïŒ@ ionic / vue @ 0.0.9ïŒãnpmã«å ¬éã§ããŸããïŒ çŸåšnpmã«ã¯v0.0.4ããããŸãã
npm do npm install --save @ ionic / vue @nextã§å ¬éãããŠããŸã
@jepiqueauã®ãœãªã¥ãŒã·ã§ã³ã¯ç§ã«ãšã£ãŠå®ç§ã«æ©èœããŸããã ããããšãããããŸããïŒïŒïŒ
@ ionic / [email protected]ã§ã¯æ£åžžã«æ©èœããŸãããvueappInitializeã§è¿œå ãããã€ãªã³ã§ã®ã¿æ©èœããŸãã
éããã䞊ã¹æ¿ããã¡ãã¥ãŒãç¢å°ãåã«ãç¢å°ãåŸãã«ãç¢å°ãäžã«ãæ€çŽ¢ããŠåãéããŸãã
ãã¹ãŠã®ã¢ã€ã³ã³ãžã®ãã«ã¢ã¯ã»ã¹ããã€åžæã§ããŸããïŒ
ãã¡ãããionic-vue.esm.jsãç·šéããããšã¯ã§ããŸããããããæšå¥šãããæ¹æ³ãã©ããã¯ããããŸããã
ä»ã®ã¢ã€ã³ã³ãæã€ããã®è§£æ±ºçã¯ãmain.jsãã¡ã€ã«ã«ããããè¿œå ããããšã§ããã€ãŸããã¢ã€ã³ã³ãã¹ã¿ãŒããããŽãç®±ãããäœæãã®å Žåããããè¡ããŸã
// after import Ionic from "@ionic/vue";
import { addIcons } from "ionicons";
import { star, trash, create } from "ionicons/icons";
// after Vue.use(Ionic);
addIcons({
"ios-star": star.ios,
"md-star": star.md,
"ios-trash": trash.ios,
"md-trash": trash.md,
"ios-create": create.ios,
"md-create": create.md
});
ããã ãã§æ©èœããã®ã§ãã€ãªã³ã¢ã€ãã ã«è¿œå ãããã¢ã€ã³ã³ã§ã䜿çšãããã¢ã€ã³ã³ã«å¯ŸããŠãããå®è¡ããŸã
ãããå©ãã«ãªãããšãé¡ã£ãŠããŸã
ã®ãã©ã³ãionicone
ãèŠãŠãã ããhttps://github.com/jepiqueau/vue-test-stencil-svgpaths-morphing
Home.Vueã«TestIconsãã¿ã³ãè¿œå ããç®çã®ã¢ã€ã³ã³ã衚瀺ããTestIcons.Vueãè¿œå ããŸã
ããã¯ããŸããããŸãã å©ããŠãããŠããããšãã ããã¯äžæçãªä¿®æ£ã§ããããããšãã¢ã€ã³ã³ã«ã¢ã¯ã»ã¹ããããã®æ¹æ³ã§ããïŒ
IonicããŒã ã®èšç»ã¯ããããŸããããç§ã«ãšã£ãŠã¯ãã¢ããªã®ãµã€ãºãç¡äŸ¡å€ã«å¢ãããã¹ãŠã®ã¢ã€ã³ã³ã§ã¯ãªããã¢ããªã«å¿ èŠãªã¢ã€ã³ã³ã®ã¿ãã€ã³ããŒãããã®ãè«ççã§ãã
ååã«ããã·ã¥ãå«ãŸããã¢ã€ã³ã³ãã€ã³ããŒãããããšããå Žåãããšãã°log-out
å Žåã¯ã代ããã«ã€ã³ããŒãã§logOut
ã䜿çšã§ããŸãã
import { addIcons } from "ionicons";
import { logOut } from "ionicons/icons";
addIcons({
"ios-log-out": logOut.ios,
"md-log-out": logOut.md
});
ãããæ¹æ³ã§ã
ããã¯è§£æ±ºãããŸãããïŒ
å°æ¥ããã«ééãã人ã ã®ããã«ãä¿®æ£ã¯å¹Ÿåäžã«åãããŠããŸãã @ ionic / vueã®ããŒãžã§ã³ãæŽæ°ããã ãã§ããäŸïŒ
$ npm install @ionic/[email protected]
@ hunterloftis-ããããšãã ããã¯ãããããŸããã prodã«è¡ãåã«æ£åŒã«æŽæ°ãããããšãé¡ã£ãŠããŸãããä»ã®ãšããã¯æ©èœããŸãã
ã¿ããªããããšããããªãã¯æ¬åœã«ç§ã®ããã«ãããç°¡åã«ããŸãã
åé¡ãããããšãïŒ ãã®åé¡ã¯ãå ã®åé¡ã«é¢é£ããªãã³ã¡ã³ããé²ãããã«ããã¯ãããŠããŸãã ãããææ°ããŒãžã§ã³ã®Ionicã§åŒãç¶ãåé¡ã«ãªãå Žåã¯ãæ°ããåé¡ãäœæãããã³ãã¬ãŒããå®å šã«å ¥åãããŠããããšã確èªããŠãã ããã
æãåèã«ãªãã³ã¡ã³ã
package.jsonã«
[email protected]
ãè¿œå ããã ãã§ãã ããã¯ãã¢ã®äŸåé¢ä¿ãäžæžãããã ãã§ãããåé¿çãšããŠäœ¿çšã§ããŸãã