Help us understand the problem. What is going on with this article?

T.Rex...散歩したいよね...npmにあげちゃお...

More than 1 year has passed since last update.

自己紹介

じゅんじゅんです。フロントエンドエンジニアです。

HAL大阪の4年です。

イベントによくいます!いまは東京にいるのでぜひお声掛けください!!

T.Rexと言えば...

この前wordの新機能でなにかと話題になりましたね。

スクリーンショット 2018-12-15 0.03.19.png

なんかこれいるんか!!
謎い
おもしろwwwww

など、色々な感想が飛び交っていました。知らない人はこちら

そして、月日は流れ僕のアドベントカレンダーが回ってくるわけです。

じゃあやることは一つしかなく。

webでやろ

ってことでライブラリ書きました。

https://github.com/konojunya/t.rex-web

スクリーンショット 2018-12-15 0.04.57.png

使い方は簡単でnpmやyarnで t-rex-web っていうpackageをinstallすればいいです。

もしくはHTMLに

<script src="https://raw.githubusercontent.com/konojunya/t.rex-web/master/lib/t-rex.js"></script>

とかけば、動きます。(いつかCDNサービスにあげます)

僕は、暴れまわるより昔の懐かしいマウスに付きまとってくるやつやりたかったんですよね...

なので、マウスのポインターに付いてきます。

このライブラリ何がすごいって、依存パッケージないんですよね(当たり前)

Qiitaのネタ的にはこのライブラリの紹介をしたいんじゃなくてnpmに自分のパッケージをあげるのをどうやるかを説明したいと思います。

自作ライブラリ、世の中に公開していこ

stepとしては3つぐらいです。

  1. npmjsに登録する
  2. ライブラリ書く
  3. publishする

だけです。

順番にやっていきましょう。

1. npmjsに登録する

まずpublishする人を登録しないといけません。

https://www.npmjs.com/ で自分のアカウントをつくってください。

作ったら手元のパソコンのterminalとかで

$ npm adduser

としてください。するとユーザー名とパスワード聞かれるので打ち込みます。パスワードを打つときは何もterminalには反映されませんがセキュリティのためそうなっています。気にせずうちきってください。

これで1つ目は終わり。

2. ライブラリ書く

では実際のライブラリを書いて行きましょう。今回はwebブラウザで動作させることを前提にします。

node.jsとかで動かしたい場合、 package.jsonbin ってとこを埋めないといけないのでぐぐってみてね。

まず、 package.json を作ります。npmであれば

$ npm init -y

yarnであれば

$ yarn init -y

で、初期の形のpackage.jsonが作成されます。

風習っぽいのとして、実際のライブラリのコードは lib/ に書くのが多いっぽいです。

なので、実際のライブラリのコードは lib/my_lib.js などに書いてみます。

lib/my_lib.js
(function() {
  console.log("This is My Library!!")
})()

function で即時関数にしているのは、この中で作った変数のスコープを止めるためです。

ライブラリインストールして使うときになって、グローバル環境の変数が汚染されてたら嫌ですよね。僕は嫌です。

ではproject直下に index.js を書いてみます。

index.js
const lib = require("./lib/my_lib.js")
module.exports = lib;

このindex.jsを import すると、 lib/my_lib.js が読み込まれるように書いておきます。

最後に package.jsonmain フィールドに  index.js と書いておきます。

{
  "name": "my-lib",
  "version": "0.0.1",
  "name": "index.js"
}

ここまでできたら最後、このライブラリを公開する設定をします。

package.jsonprivate というフィールドを false にします。これで準備が整いました。

3. publishする

いよいよ自分のつくったものを世の中に公開するわけですが、コマンドを実行するだけです。

$ npm publish

これだけで、npmjsに自分のライブラリが公開されます!!!!

ここで注意点があって、 package.jsonname が自分のライブラリ名になるんですが、npmjsに同じ名前のライブラリがあるとpublishできません。

ライブラリの名前を変えるか、自分のアカウント名をいれます。

@konojunya/mylib みたいな感じです。

このライブラリ名には、ハイフン英数字しか使えなかった気がします。(間違えてたらすいません)

これであなたも一人前のエンジニアですね!

あとがき

おもったより簡単にかけることがわかったのではないでしょうか。

どんどん公開して、PRくれぇ〜〜って叫びましょう。

Author: @konojunya

iotlt
IoT縛りの勉強会です。 毎月イベントを実施しているので是非遊びに来てください! 登壇者を中心にQiitaでも情報発信していきます。 https://iotlt.connpass.com
https://iotlt.connpass.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした