問題タブ [npm-scripts]
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.
npm - devDependecies にリストされているパッケージを再インストールした後、npm スクリプトが機能しない
私は npm スクリプトを使用してフロントエンド開発者向けのビルド システムを開発しており、いくつかのタスクが のscripts
セクションで定義されていpackage.json
ます。これらには、css の縮小、コードのリンティング、ドキュメントの生成、JavaScript のトランスパイルなどの典型的なタスクが含まれます。
定義されたすべてのスクリプト タスクは、CLI を介してコマンドを実行することにより、期待される結果を達成$ npm run build
し$ npm run docs
ます$ npm run watch
。
必要なノード パッケージの新規インストール後にビルド システムを正常に再現できることをテストするには、次のようにします。
- プロジェクト ディレクトリの複製を作成します。
node_modules
複製したプロジェクト ディレクトリからフォルダを削除します。- を介して、複製されたプロジェクト ディレクトリに新規インストールを実行し
$ npm install
ます。
devDependencies
これにより、予想どおり、 のセクションにリストされているパッケージに基づいて、必要なノード パッケージがダウンロードされますpackage.json
。
npm install
ただし、次のように定義されたスクリプト タスクのいくつかを新たに実行する$ npm run watch
と、複製されたプロジェクトから正常に動作しなくなります。
さらなる調査により、いいえであることが明らかになりました。複製プロジェクト ディレクトリ (つまり、新規インストール後のディレクトリ) の「node_modules」フォルダにリストされている最上位パッケージの数は、タスクが正常に実行された元のプロジェクト ディレクトリよりも約 30 少なくなっています。すべて欠落しているパッケージは、インストールしたパッケージが依存しているサブ依存関係のようです。
また、$ npm list
CLI を使用して を実行すると、元のプロジェクト ディレクトリと複製されたプロジェクト ディレクトリ (つまり、新規インストールされたディレクトリ) の両方で、一覧表示されるパッケージが異なります。
node_modules
そのため、フォルダー (およびそのコンテンツ) を含めずにプロジェクト ディレクトリを共有することはできません。理想的には、ボイラープレート コードを仲間の開発者と共有し、彼らは単純cd
にプロジェクト ディレクトリに移動して$ npm install
自分で実行したいと考えています。
この問題を解決する方法についての提案をいただければ幸いです。それは私が以前に遭遇したものではありません。
前もって感謝します。
cordova - Ionicは未定義のプロパティ 'hasOwnProperty'を読み取れません
Ionic フレームワークを使用しています。ionic cli の新しいバージョンにアップグレードしたところ、実行中にこのエラーが発生しionic serve
ました。
ionic serve
この問題を修正して、プロジェクトをまたはionic build
再度実行できるようにするにはどうすればよいですか?
node.js - npm CLI/API経由でインストールされたnpmパッケージのパスを取得する方法は?
npm パッケージとしてパックされた npm スクリプトを作成し、メインの実行可能ファイルをnode_modules/.bin
そのホスティング プロジェクトに公開しています。
このスクリプトには独自の npm 依存関係があり、スクリプト フローはこれらの依存関係の 1 つを別の場所にコピーすることに依存しているため、その依存関係がどこにインストールされたかを知る必要があります。
ホストの内部にその依存関係がインストールされた場所を(APIまたはnpm CLIを介して)どのように見つけることができますnode_modules
か?
javascript - コマンドライン引数をネストされたスクリプトに渡す方法は?
注: これは、引数を最上位のスクリプトに送信することではなく、そのスクリプトによって呼び出されるスクリプトに送信することに関するものです。
私の package.json で、コマンド ライン引数を直接受け取るスクリプトを呼び出すと、機能します。しかし、他のスクリプトを呼び出すスクリプトを呼び出すと、コマンドライン引数が渡されません。どうすればそれらを渡すことができますか?
以下のコマンドを実行すると、引数が取得されます。
しかし、他のスクリプトを実行すると、引数が取得されません。それらを引き継ぐ方法はありますか?たぶん、ドル記号のような可変マーカーで?
何か方法はありますか?
npm-start - npm スクリプトを使用してブラウザから localhost を開く方法
私はnpm script
、手動でブラウザーを開いてlocalhost:1234
.
現在、私のスクリプトは次のようになっています。
追加したい"open": <some code here>,
したがって、誰かが GitHub にアクセスして、私のリポジトリからクローンまたはフォークを作成すると、アプリケーションの実行方法に関する指示が与えられます。これを自動化することは、ちょっとした追加になると思いました。
これがどのように可能か知っている人はいますか?私はそれがbashでコマンドを呼び出すことに関係していると確信しています。助けてくれてありがとう!
node.js - npmスクリプトで同時にディレクトリを変更できません
私はウェブサイトといくつかの外部モジュールをローカルノードの依存関係として追加しています(を使用"file:..."
)。
私のウェブサイトの外部モジュール参照を更新するために、以下のような npm スクリプトを使用しています。
concurrently "cd ../my-ext-module1 && gulp build" "cd ../my-ext-module2 && gulp build"
ターミナルで実行するときはいつでも、すべて問題ありません。ただし、を使用して同じものを実行するとnpm run update-own-deps
、preupdate-own-deps
次のエラーで終了します。
私は npm スクリプトを初めて使用するので、ここで何が欠けているのかわかりません。提案してください。
更新:愚かな私は、古いバージョンの同時使用を使用していました。更新すると問題が解決されました。
node.js - NPM スクリプトから Webpack に変数を渡す
process.env
ノードを使用して環境変数を設定するWebpackを使用した本番ビルドがあります。
webpack.prod.babel.js:
パッケージ.json:
うまく機能していますが、別のものが必要です。
NPM Script でプロダクション URL を変数として設定する必要があります。
したがって、これの代わりに:
私はこれを必要とする:
node.js - プロセス置換を使用したコマンドで npm スクリプトが失敗する
標準の OSX 端末で次を実行すると、期待どおりに動作します。
しかし、NPM スクリプトとして実行しようとすると失敗します。
NPM スクリプトを変更する"bash -c 'diff <(ls dir1) <(ls dir2)'"
と、最初に目的の結果が出力されますが、それでもエラーがスローされます (終了ステータス 1)。
編集:ちなみに、これらの奇妙な<()
記号はプロセス置換です。それらについて学んだだけです。