0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Nuxt.js で npm モジュールをプラグイン化するサンプル(IMI コンポーネントツール)

Posted at

概要

  • Nuxt.js で npm モジュールをプラグイン化して使う例をメモとして残す
  • ついでに最近リリースされた IMI コンポーネントツールを使ってみる

手順

npm モジュール追加

yarn add https://info.gbiz.go.jp/tools/imi_tools/resource/imi-enrichment-contact/imi-enrichment-contact-1.0.0.tgz

プラグイン作成

  • plugins 以下に javascript ファイルを作成
  • モジュールを import してコンテキストと Vue コンポーネントにインジェクトする
plugins/contact.js
import contact from 'imi-enrichment-contact';

export default (ctx, inject) => {
  ctx.$contact = contact;
  inject('contact', contact);
};

nuxt.config.js を修正してロード

nuxt.config.js
 plugins: ['@/plugins/contact'],

.vue ファイルから使用する

xxx.vue
  asyncData({ $contact }) {
    console.log($contact('117'));
  },
  methods: {
    normalize() {
      this.normalized = JSON.stringify(this.$contact(this.tel), null, 4);
    }
  }

動作サンプル

補足

  • IMI コンポーネントツールはブラウザで動かないものもある(住所とか)
  • プラグインを TypeScript から使う場合は型定義なども別途必要

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?