LoginSignup
0
0

More than 5 years have passed since last update.

Browserifyでのビルドでモジュールへのフルパスが混入する問題への対応

Posted at

発生した事象

browserifyでビルドしたファイルに

_where : "user/local/path"

といったパスが混入されている箇所が幾つかある。

原因

調べるとmoduleによってはインストール先をpackage.jsonにインストール時に保存して、それをrequireで取り込んでいるものがあるらしい。しかも機能的には使われておらず削除しても問題ない。

ref. https://github.com/indutny/elliptic/issues/106

対応

package-json-versionify を使ってversion情報以外読み込めなくする対応をいれることにした。package-json-versionify をインストールしてビルドタスクに組み込む。

var versionify = require('package-json-versionify');

中略

  browserify({entries: [srcPath]})
    .transform({ global: true }, versionify)

以下略

globalで動くようにしないと機能しないので他への影響もないか注意する。

これによりpackage.jsonをrequireしたときversion情報しか取り込めなくなり、ビルドしたファイルにパスが入らなくなる。

最後に

ビルドされたソースは挙動が問題なくとも内容は確認しましょう。

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