npm に公開したい vue コンポーネントを作成しましたが (既にそうしています)、依存関係として vue を追加する必要があるかどうか、またそれがコンポーネントのサイズに影響するかどうか疑問に思っていました。現在、私のpackage.jsonは次のようになっています
"dependencies": {
"vue": "^2.6.6",
"vue-svg-loader": "^0.12.0"
},
"devDependencies": {
"@vue/cli-plugin-babel": "^3.0.5",
"@vue/cli-plugin-eslint": "^3.0.5",
"@vue/cli-service": "^3.0.5",
"babel-eslint": "^10.0.1",
"eslint": "^5.8.0",
"eslint-plugin-vue": "^5.0.0",
"vue-template-compiler": "^2.5.21"
},
次のコマンドで vue-cli-service を使用してコンポーネントをビルドしています
vue-cli-service build --target lib --name my_component_name ./src/index.js
私が構築しているかなり小さなコンポーネントの場合、バンドルのサイズは比較的大きいと感じました
これは私の出力です:
ファイル | サイズ | Gzipされた
dist\my_component.umd.min.js | 61.67 キロバイト | 18.62KiB
dist\my_component.umd.js | 143.66 キロバイト | 32.61 キロバイト
dist\my_component.common.js | 143.27 キロバイト | 32.49KiB
簡単に言えば、vue への依存によってバンドル サイズが増加するかどうか、および単一のコンポーネントを公開するときに依存関係として実際に必要かどうか疑問に思っていました。