์ด์จ ๋ฒ์ :
[x] 4.x
@ionic/ [email protected] ๋๋ @ionic/ 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)
์์๋๋ ๋์:
ionicons๋ฅผ ๋ก๋ํ ์ ์์ด์ผ ํฉ๋๋ค. @ionic/ core @ [email protected] ์ด ์ข
์์ฑ์ผ ๋ ์๋ฒฝํ๊ฒ ์๋ํ์ต๋๋ค. ์ด์ ์ฒ์๋ถํฐ ๋ค์ ์ค์นํ๋ฉด ์ข
์์ฑ์ด @ionic/ core @ [email protected] ์ด๊ณ @ionic/ [email protected] ๋ฐ @ionic/ 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");
IonicVueRouter๋ฅผ ๊ณ์ ์ฌ์ฉํ๋ค๋ ์๋ฏธ๋ก router.js ํ์ผ์ ์ ์งํ์ญ์์ค.
์ ์๋ํฉ๋๋ค.
์ด์ 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์ ์์ ์์ ์์
,
(๊ทธ๋ "๊ณตํต"์ด ์๋๋ผ "์ฃผ์"์ ์๋ฏธํฉ๋๋ค) ๊ทธ๊ฐ ์คํฌ๋ฆฐ์ท์์ ์ฃผ์ ์ฒ๋ฆฌํ ์ค์ ์ฃผ์ ์ฒ๋ฆฌํ๋ ค๊ณ ํฉ๋๋ค.
Adrianmed ๊ฐ์ฌํฉ๋๋ค :)
์๋ง ๋๋ ์ด ๋ฒ๊ทธ์ ์์ธ์ ์๊ณ ์๋ค
๊ทธ ์ด์ ๋ {ICON_PATH}๋ฅผ ๊ฐ์ ธ์ค๋ ค๊ณ ํ๋ฉด ์๋ฌด ๊ฒ๋ ๋ฐํํ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ฝ์์์ ์ธ์ํ๋ ค๊ณ ํ๋ฉด ์๋ฌด ๊ฒ๋ ๋ฐํํ์ง ์์ต๋๋ค.
@Adrianmed @Abdlrahmansaber ์ ์๋ํ์ง๋ง ์์ด์ฝ์ ์ฃฝ์ฌ์ ๋ฆด๋ฆฌ์ค๋ ์ฑ์ ๋ํ ์์ ์๋ฃจ์ ์ด ์๋๋๋ค. :)
@Abdlrahmansaber์ ์๋ฃจ์
์ ์ ์ฉํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ ๋๋ก ์๋ํ์ง ์์ต๋๋ค(์ปดํ์ผ ๊ฒฝ๊ณ ๋ฐ ์ฝ์ ์ค๋ฅ๊ฐ ์ฌ๋ผ์ง).
๋๋ ๊ทธ๊ฒ์ ๋ฐ๋ฅด๋ ค๊ณ ๋
ธ๋ ฅํ๊ณ ์์ต๋๋ค : https://ionicframework.com/blog/announcing-the-ionic-vue-beta/
๊ทธ๋ฌ๋ ๋ด๊ฐ ์ถ๊ฐํ๋ ์๊ฐ
import Ionic from '@ionic/vue';
import '@ionic/core/css/ionic.bundle.css';
Vue.use(Ionic);
main.js์ ๋ํ ๋ชจ๋ I get ๋ฐ์ "๋น"ํ์ด์ง์
๋๋ค.
ํ์ฌ ์ข
์์ฑ ๋ฒ์ :
"์ข
์์ฑ": {
"@ionic/vue": "0.0.4",
"๋ทฐ": "^2.6.10",
"๋ทฐ ๋ผ์ฐํฐ": "^3.0.3"
},
"devDependencies": {
"@vue/cli-service": "^3.8.0",
"vue-ํ
ํ๋ฆฟ ์ปดํ์ผ๋ฌ": "^2.6.10"
}
@Abdlrahmansaber์ ์๋ฃจ์ ์ ์ ์ฉํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ ๋๋ก ์๋ํ์ง ์์ต๋๋ค(์ปดํ์ผ ๊ฒฝ๊ณ ๋ฐ ์ฝ์ ์ค๋ฅ๊ฐ ์ฌ๋ผ์ง).
๋๋ ๊ทธ๊ฒ์ ๋ฐ๋ฅด๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค : https://ionicframework.com/blog/announcing-the-ionic-vue-beta/
๊ทธ๋ฌ๋ ๋ด๊ฐ ์ถ๊ฐํ๋ ์๊ฐimport Ionic from '@ionic/vue'; import '@ionic/core/css/ionic.bundle.css'; Vue.use(Ionic);
main.js์ ๋ํ ๋ชจ๋ I get ๋ฐ์ "๋น"ํ์ด์ง์ ๋๋ค.
ํ์ฌ ์ข ์์ฑ ๋ฒ์ :
"์ข ์์ฑ": {
"@ionic/vue": "0.0.4",
"๋ทฐ": "^2.6.10",
"๋ทฐ ๋ผ์ฐํฐ": "^3.0.3"
},
"devDependencies": {
"@vue/cli-service": "^3.8.0",
"vue-ํ ํ๋ฆฟ ์ปดํ์ผ๋ฌ": "^2.6.10"
}
ํธ์ง : ์ธ์ฉ ๋ ๊ฐ์ ธ ์ค๊ธฐ๋ฅผ ์ฌ์ฉํ๋๋ผ๋ ๋์๊ฒ ์ ์๋ํฉ๋๋ค.
๋ด๊ฐ ์ดํ ์ ์ ์ ์ํ ๊ฒ์ ์ฌ์ฉํด์ผ ์๋ํ๊ณ ์์ด์ฝ์ด ํ์๋ฉ๋๋ค.
@wannymiarelli ์์ด์ฝ์ด ์ฃฝ์๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง ๋ฒ๊ทธ๋ฅผ ์์ ํ ๋๊น์ง ์์ด์ฝ ์์ด ์ ์ฒด ์ฑ์ ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋น์ ๋ง์ด ๋ง์์ ์ถ์ ๋ ์ฑ์ ๋ํ ์๋ฃจ์ ์ด ์๋๋๋ค
@mbilbao ์ฝ์์ ๋ณด์ฌ์ฃผ์๊ฒ ์ต๋๊น?
package-lock.json์์ ionicons ๋ฒ์ ์ ๋ณ๊ฒฝํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
๊ทธ๋ฌ๋ ์ค์ ๋ก๋ ์๋ก์ด npm ์ค์น์ ํจ๊ป ์๋ํด์ผ ํฉ๋๋ค.
@mbilbao ์ฝ์์ ๋ณด์ฌ์ฃผ์๊ฒ ์ต๋๊น?
์ด๋ด, ์ฝ์์ ์ค๋ฅ, ๊ฒฝ๊ณ ๋๋ ์ธ๋ถ ์ ๋ณด ํ์ ๋ชจ๋๋ฅผ ํ์ธํ ๋ ํ์๋๋ ๋ด์ฉ ์์ด ๋ช
ํํ์ต๋๋ค.
@daarioautumn์ด ๊ฒ์๋ ๋๋ก ์ด๋ฏธ ionicons ํจํค์ง๋ฅผ ๋ค์ด๊ทธ๋ ์ด๋ํ์ผ๋ฉฐ ์๋ํฉ๋๋ค.
@Abdlrahmansaber ์ด์จ๋ ๊ฐ์ฌํฉ๋๋ค.
package.json์ [email protected]
๋ฅผ ์ถ๊ฐํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ์ด๊ฒ์ ํผ์ด ์ข
์์ฑ์ ๋ฌด์ํ๊ณ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ฐ์ ๋ฌธ์ ... ํด๊ฒฐ ๋ฐฉ๋ฒ์?
@Abdlrahmansaber์ ์๋ฃจ์ ์ ์ ์ฉํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ ๋๋ก ์๋ํ์ง ์์ต๋๋ค(์ปดํ์ผ ๊ฒฝ๊ณ ๋ฐ ์ฝ์ ์ค๋ฅ๊ฐ ์ฌ๋ผ์ง).
๋๋ ๊ทธ๊ฒ์ ๋ฐ๋ฅด๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค : https://ionicframework.com/blog/announcing-the-ionic-vue-beta/
๊ทธ๋ฌ๋ ๋ด๊ฐ ์ถ๊ฐํ๋ ์๊ฐimport Ionic from '@ionic/vue'; import '@ionic/core/css/ionic.bundle.css'; Vue.use(Ionic);
main.js์ ๋ํ ๋ชจ๋ I get ๋ฐ์ "๋น"ํ์ด์ง์ ๋๋ค.
ํ์ฌ ์ข ์์ฑ ๋ฒ์ :
"์ข ์์ฑ": {
"@ionic/vue": "0.0.4",
"๋ทฐ": "^2.6.10",
"๋ทฐ ๋ผ์ฐํฐ": "^3.0.3"
},
"devDependencies": {
"@vue/cli-service": "^3.8.0",
"vue-ํ ํ๋ฆฟ ์ปดํ์ผ๋ฌ": "^2.6.10"
}
@mbilbao ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์ผ์ จ์ต๋๊น?
๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ธํฐ๋ท์์ ๋ช ์๊ฐ ๋์ ํด๊ฒฐ์ฑ ์ ์ฐพ์์ง๋ง ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์ ํ ๋ฐฉ๋ฒ์ ์ฐพ์ง ๋ชปํ์ต๋๋ค. ๋๊ตฐ๊ฐ ๋๋ฅผ ๋์ธ ์ ์์ต๋๊น?
@Abdlrahmansaber์ ์๋ฃจ์ ์ ์ ์ฉํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ ๋๋ก ์๋ํ์ง ์์ต๋๋ค(์ปดํ์ผ ๊ฒฝ๊ณ ๋ฐ ์ฝ์ ์ค๋ฅ๊ฐ ์ฌ๋ผ์ง).
๋๋ ๊ทธ๊ฒ์ ๋ฐ๋ฅด๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค : https://ionicframework.com/blog/announcing-the-ionic-vue-beta/
๊ทธ๋ฌ๋ ๋ด๊ฐ ์ถ๊ฐํ๋ ์๊ฐimport Ionic from '@ionic/vue'; import '@ionic/core/css/ionic.bundle.css'; Vue.use(Ionic);
main.js์ ๋ํ ๋ชจ๋ I get ๋ฐ์ "๋น"ํ์ด์ง์ ๋๋ค.
ํ์ฌ ์ข ์์ฑ ๋ฒ์ :
"์ข ์์ฑ": {
"@ionic/vue": "0.0.4",
"๋ทฐ": "^2.6.10",
"๋ทฐ ๋ผ์ฐํฐ": "^3.0.3"
},
"devDependencies": {
"@vue/cli-service": "^3.8.0",
"vue-ํ ํ๋ฆฟ ์ปดํ์ผ๋ฌ": "^2.6.10"
}@mbilbao ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์ผ์ จ์ต๋๊น?
์, @daarioautumn ์ ์๋ฃจ์ ์ ์ ์ฉํ์ต๋๋ค. ionons ํจํค์ง๋ฅผ 4.5.8๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ์ต๋๋ค.
@yasin-mesut ์๋ฃจ์ ์ด ์ ์๊ฒ ํจ๊ณผ์ ์ ๋๋ค.
@yasin-mesut์ด ์ ์ํ ๋๋ก ์ด์จ ํจํค์ง๋ฅผ ์ค์นํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค: npm install [email protected] --save-dev
@jepiqueau ๊ทํ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์ ์๊ฒ
์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๊น? ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์๊ณ ์์ต๋๊น?
๋ฐฉ๊ธ Angular๋ฅผ ์ฌ์ฉํ์ฌ ์ผ๋ฐ Ionic์ผ๋ก ์ฎ๊ฒผ์ต๋๋ค. ํ์ง๋ง ๋ ์ฌ์ ํ VUE ํ๋ ์ ์ํฌ ์ฌํ์๊ฒ ๋ด ํ๋ก์ ํธ๋ฅผ ๊ฐ๋ฐํ ํ๋ ค๋ฉด
@Abdlrahmansaber์ ์๋ฃจ์ ์ ์ ์ฉํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ ๋๋ก ์๋ํ์ง ์์ต๋๋ค(์ปดํ์ผ ๊ฒฝ๊ณ ๋ฐ ์ฝ์ ์ค๋ฅ๊ฐ ์ฌ๋ผ์ง).
๋๋ ๊ทธ๊ฒ์ ๋ฐ๋ฅด๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค : https://ionicframework.com/blog/announcing-the-ionic-vue-beta/
๊ทธ๋ฌ๋ ๋ด๊ฐ ์ถ๊ฐํ๋ ์๊ฐimport Ionic from '@ionic/vue'; import '@ionic/core/css/ionic.bundle.css'; Vue.use(Ionic);
main.js์ ๋ํ ๋ชจ๋ I get ๋ฐ์ "๋น"ํ์ด์ง์ ๋๋ค.
ํ์ฌ ์ข ์์ฑ ๋ฒ์ :
"์ข ์์ฑ": {
"@ionic/vue": "0.0.4",
"๋ทฐ": "^2.6.10",
"๋ทฐ ๋ผ์ฐํฐ": "^3.0.3"
},
"devDependencies": {
"@vue/cli-service": "^3.8.0",
"vue-ํ ํ๋ฆฟ ์ปดํ์ผ๋ฌ": "^2.6.10"
}@mbilbao ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์ผ์ จ์ต๋๊น?
์, @daarioautumn ์ ์๋ฃจ์ ์ ์ ์ฉํ์ต๋๋ค. ionons ํจํค์ง๋ฅผ 4.5.8๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ์ต๋๋ค.
์ด ์คํ์ผ์ ์ฐพ์์ต๋๋ค.
html:not(.hydrated) body {
display: none;
}
์ต์ ๋ฒ์ (@ionic/[email protected] )์ npm์ ๊ฒ์ํ ์ ์์ต๋๊น? ์ด์ npm์ v0.0.4์ ๋๋ค.
npm do npm install --save @ionic/ vue@next ์ ๊ฒ์๋ฉ๋๋ค.
@jepiqueau ์ ์๋ฃจ์ ์ด ์๋ฒฝํ๊ฒ ์๋ํ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค!!!
@ionic/ vue @
๋ซ๊ธฐ, ์ฌ์ ๋ ฌ, ๋ฉ๋ด, ์์ผ๋ก ํ์ดํ, ๋ค๋ก ํ์ดํ, ์๋๋ก ํ์ดํ, ๊ฒ์ ๋ฐ ๋ซ๊ธฐ ์.
์ธ์ ๋ชจ๋ ์์ด์ฝ์ ๋ํ ์ ์ฒด ์ก์ธ์ค ๊ถํ์ ์ป์ ์ ์์ต๋๊น?
๋ฌผ๋ก ionic-vue.esm.js๋ฅผ ํธ์งํ ์ ์์ง๋ง ์ด๊ฒ์ด ๊ถ์ฅ๋๋ ๋ฐฉ๋ฒ์ธ์ง ํ์คํ์ง ์์ต๋๋ค....
๋ค๋ฅธ ์์ด์ฝ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ main.js ํ์ผ์ ์ถ๊ฐํ๋ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด ์์ด์ฝ "star","trash","create"์ ๊ฒฝ์ฐ ์ด๋ ๊ฒ
// 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 - ๊ฐ์ฌํฉ๋๋ค. ๊ทธ๊ฒ ํด๋๋ค. ํ๋ก๋์ ์ผ๋ก ๊ฐ๊ธฐ ์ ์ ๊ณต์์ ์ผ๋ก ์ ๋ฐ์ดํธ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ํ์ง๋ง ์ง๊ธ์ ์๋ํฉ๋๋ค.
๊ณ ๋ง์ ์๋ค์ ์ ๋ง ์ฝ๊ฒ ๋ง๋ค์ด ์คฌ์ด
๋ฌธ์ ๋ฅผ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! ์ด ๋ฌธ์ ๋ ์๋ ๋ฌธ์ ์ ๊ด๋ จ์ด ์๋ ๋๊ธ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ ๊ฒจ ์์ต๋๋ค. ์ด๊ฒ์ด ์ฌ์ ํ ์ต์ ๋ฒ์ ์ Ionic์์ ๋ฌธ์ ๊ฐ ๋๋ ๊ฒฝ์ฐ ์ ๋ฌธ์ ๋ฅผ ๋ง๋ค๊ณ ํ ํ๋ฆฟ์ด ์์ ํ ์ฑ์์ก๋์ง ํ์ธํ์ญ์์ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
package.json์
[email protected]
๋ฅผ ์ถ๊ฐํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ์ด๊ฒ์ ํผ์ด ์ข ์์ฑ์ ๋ฌด์ํ๊ณ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.