問題タブ [npm-publish]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1429 参照

npm - npm、.npmignore を使用せずに src dir を公開しないようにする

このnpm publish コマンドは tarball ( srcdir を使用) を作成し、それをレジストリに公開します。

srcの使用を避けてディレクトリを除外する方法はあり.npmignoreますか?

0 投票する
0 に答える
103 参照

vue.js - vue コンポーネントを npm に公開する場合、どの依存関係を追加する必要がありますか?

npm に公開したい vue コンポーネントを作成しましたが (既にそうしています)、依存関係として vue を追加する必要があるかどうか、またそれがコンポーネントのサイズに影響するかどうか疑問に思っていました。現在、私のpackage.jsonは次のようになっています

次のコマンドで vue-cli-service を使用してコンポーネントをビルドしています

私が構築しているかなり小さなコンポーネントの場合、バンドルのサイズは比較的大きいと感じました

これは私の出力です:

ファイル | サイズ | 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 への依存によってバンドル サイズが増加するかどうか、および単一のコンポーネントを公開するときに依存関係として実際に必要かどうか疑問に思っていました。

0 投票する
1 に答える
240 参照

typescript - グローバル型を使用するが、それを使用してプロジェクトを拡張しない NPM パッケージを作成する方法は?

質問:

多くの異なるファイルで多くのタイプを再利用するプロジェクトは、スクリプト ファイルで定義されたタイプを利用できます。これらのタイプはプロジェクト全体でグローバルに表示され、インポートする必要はありません。公式ハンドブックを参照してください:

importTypeScript では、ECMAScript 2015 と同様に、トップレベルのorを含むすべてのファイルがexportモジュールと見なされます。import逆に、トップレベルまたは宣言のないファイルexportは、コンテンツがグローバル スコープで (したがってモジュールでも) 利用可能なスクリプトとして扱われます。

私は自分のプロジェクトでこれらのグローバル型を使用しましたが、うまく機能しました。しかし、その後、プロジェクトを NPM モジュールに変えることにしました。そのモジュールの「グローバル」タイプは、モジュール自体に対してのみ表示される必要があります。

<reference/>最初に、 s と.を追加せずに、モジュールをそのまま公開しましたtypeRoots。ただし、モジュールを別のプロジェクトにインポートすると、TypeScript はグローバル型を見つけることができず、コンパイルできませんでした。

次に、グローバル型を使用するモジュール内のすべてのファイルに追加<reference path="types.ts" />してから、もう一度プッシュしました。驚いたことに、これにより、モジュールだけでなく、それを使用するプロジェクト全体でも型が使用可能になり、ローカル型とモジュールの型の間で競合が発生しました。

(私が公開したモジュールの両方のバージョンは、それ自体で完全にコンパイル可能であったことに注意してください。問題はnpm i、別のプロジェクトで使用してモジュールをインストールしたときに始まりました。)

モジュールの「グローバル」タイプをモジュールでのみ使用できるようにする方法はありますか?


私のモジュールの構造:

最初の公開では、index.ts通常foo.tsのコードのみが含まれていたため、プロジェクト時に型が認識されませんでした。モジュールを 2 回目に公開したときに、と の///<reference path="types.ts"/>両方に追加しindex.tsましたfoo.ts。これはpath="types.d.ts"、コンパイルされたファイルindex.d.tsfoo.d.ts.

パッケージ.json:

tsconfig.json:

0 投票する
1 に答える
620 参照

javascript - node_modules に存在するにもかかわらず、peerDependency が定義されていません

NPM ライブラリの構築を学んでいます。そのソースコードはHEREにあります。アプリケーション (ライブラリを使用する) が自分でインストールできるようにlodash、peerDependency として配置しました。

問題は、@a6kme/mathアプリケーションにライブラリ ( ) をインストールしているときにUnhandled Rejection (ReferenceError): lodash is not defined、ライブラリのインポートでエラーが発生することです。確認したところ、他のライブラリを介してアプリケーションによってlodashがインストールされています。(フォルダ内lodashに存在しnode_modulesます)

===コードリポジトリからのいくつかのファイル===

じぶんのpackage.json

じぶんのwebpack.config.js

じぶんの.babelrc

コード リポジトリにgithub の問題を作成しました。どこを見ればいいのか教えてください。

0 投票する
1 に答える
256 参照

webpack - npm パッケージ (公開予定) をできるだけ小さくする方法

npm パッケージのサイズを最小化する方法と、npm パッケージを公開するときに webpack を依存関係として追加する必要がありますか。以下の記事を参照しました: https://medium.com/quick-code/publish-your-own-react-component-as-npm-package-under-5-minutes-8a47f0cb92b9

初めての npm パッケージを公開しました。しかし、npm パッケージからインストールすると、「67 個のパッケージが追加されました」と表示されます。なぜ67パッケージなのですか?

これは package.json の依存関係セクションです: "dependencies": { "react": "16.8.6", "webpack": "4.32.2", "react-icons": "3.7.0" },