Ionic-framework: バグIonic / vueionicons゚ラヌ

䜜成日 2019幎06月27日  Â·  46コメント  Â·  ゜ヌス: ionic-team/ionic-framework

バグレポヌト

むオンバヌゞョン


[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の䞡方で倱敗したす。

再珟する手順

  • @ ionic / core @
  • フォルダnode_modulesを削陀したす
  • package-lock.jsonを削陀したす
  • npmむンストヌル

関連コヌド
芋る

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

最も参考になるコメント

package.jsonに[email protected]を远加するだけです。 これはピアの䟝存関係を䞊曞きするだけであり、回避策ずしお䜿甚できたす。

党おのコメント46件

同じ問題が発生しおいたす。 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、コン゜ヌルに衚瀺されるチャンクファむル

私はこれを行いたした、そしおアプリは私のために働きたした、しかしそれは正しい解決策ではありたせん、しかしあなたはあなたの仕事を続けるこずができるために今これをするこずができたす

これらのファむルが芋぀からない堎合は、プロゞェクトディレクトリに移動し、コンピュヌタ/ラップ怜玢からファむルの名を右に怜玢したす。 ionic-vue.esm.js write-> ionicを怜玢するず、ionicで始たるすべおのファむル/フォルダヌが衚瀺されたす。この堎合は、探しおいるファむルを遞択しおくださいionic-vue.esm.jsを遞択する必芁がありたす。 。

Screenshot_15
Screenshot_16
Screenshot_17
Screenshot_18

Abdlrahmansaberの䞀時修正は機胜したすが、
圌は「共​​通」ではなく「コメント」を意味したすあなたは圌がスクリヌンショットでコメントアりトした行をコメントアりトしたいず思いたす。

ありがずう゚むドリアン:)

おそらく私はこのバグの理由を知っおいたす

{ICON_PATH}をむンポヌトしようずしおも䜕も返されないため、コン゜ヌルで印刷しようずするず䜕も返されたせん。

Screenshot_13

Screenshot_11

@Adrianmed @Abdlrahmansaberはい、動䜜したすがアむコンを匷制終了するため、これはリリヌスされたアプリの䞀時的な解決策ではありたせん:)

@Abdlrahmansaberの゜リュヌションを適甚したした。 しかし、それは正しく機胜しおいたせんコンパむル譊告ずコン゜ヌル゚ラヌが消えたした。
私はそれをフォロヌしようずしおいたす https 
しかし、私が远加する瞬間に

import Ionic from '@ionic/vue';
import '@ionic/core/css/ionic.bundle.css';

Vue.use(Ionic);

main.jsに私が埗るのは、「空癜の」ペヌゞだけです。
image

珟圚の䟝存関係のバヌゞョン
「䟝存関係」{
"@ 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に私が埗るのは、「空癜の」ペヌゞだけです。
image

珟圚の䟝存関係のバヌゞョン
「䟝存関係」{
"@ 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バヌゞョンを倉曎するこずでこれを解決したす
Screenshot from 2019-06-30 20-25-49

しかし、実際には新しい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に私が埗るのは、「空癜の」ペヌゞだけです。
image

珟圚の䟝存関係のバヌゞョン
「䟝存関係」{
"@ 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に私が埗るのは、「空癜の」ペヌゞだけです。
image
珟圚の䟝存関係のバヌゞョン
「䟝存関係」{
"@ 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あなたの回避策は私のために働いたが、今私は私のアプリのすべおのむオンアむテムの最埌にコンテンツを远加したした
image
この問題が発生したしたか あなたはそれを解決する方法を知っおいたすか

Angularで通垞のIonicに移行したした。 しかし、私はただ悲しいvueフレヌムワヌクで私のプロゞェクトを開発したいです

@Abdlrahmansaberの゜リュヌションを適甚したした。 しかし、それは正しく機胜しおいたせんコンパむル譊告ずコン゜ヌル゚ラヌが消えたした。
私はそれをフォロヌしようずしおいたす https 
しかし、私が远加する瞬間に

import Ionic from '@ionic/vue';
import '@ionic/core/css/ionic.bundle.css';

Vue.use(Ionic);

main.jsに私が埗るのは、「空癜の」ペヌゞだけです。
image
珟圚の䟝存関係のバヌゞョン
「䟝存関係」{
"@ 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で匕き続き問題になる堎合は、新しい問題を䜜成し、テンプレヌトが完党に入力されおいるこずを確認しおください。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡