2016-11-30 13 views
1

プロジェクトの依存関係を構築するためにnpmスクリプトをテストしています。事前公開が期待どおりに機能しない

私の考えは、の後にnode_modulesのコードを意味するわけではありません。https://github.com/ParsePlatform/parse-serverから来ました。以下は

私testmodule構造

src/index.js 
package.json 

であり、これは私のpackage.jsonコンテンツ

{ 
    "name": "testmodule", 
    "version": "1.0.0", 
    "description": "", 
    "main": "lib/index.js", 
    "scripts": { 
    "build": "babel src/ -d lib/", 
    "prepublish": "npm run build" 
    }, 
    "devDependencies": { 
    "babel-cli": "^6.18.0", 
    "babel-core": "^6.18.2" 
    } 
} 

であり、これは実行後にSRCであるnpm install testmodule

node_modules/testmodule/lib/index.js 
node_modules/testmodule/package.json 

私が期待した構造でありますフォルダはここにはないはずです。

しかし、npm installを実行した後は、私がgitリポジトリにプッシュするときとまったく同じです。

私自身のサーバーにGitLabを使用しています。

だから私の質問は以下のとおりです。

  1. は私がprepublish実行を行うために欠けているものはありますか?

  2. インストール後にsrcフォルダと他のファイルが作成されない部分は何ですか?

答えて

0

どのように実行していますnpm install

documentation on npm scriptsによれば、事前公開スクリプトは「パッケージが公開される前に実行されます(引数なしでローカルのnpmインストールでも実行されます)」。事前公開スクリプトはnpm publishまたはnpm install <local directory>でのみ実行されることは明らかです。

URLを使用してローカルgitlabサーバーから直接インストールしようとすると、ではなくが動作し、スクリプトは実行されません。パッケージを&のソースを開いてnpmリポジトリにプッシュするか、プライベートnpmリポジトリを支払う場合を除き、ソリューションはローカルにインストールすることになります。これは、私がパッケージを公開する準備が整う前に、パッケージの開発中に行ったことです。

+0

公開されました。ありがとうございました。しかし、パーズサーバーがパブリッシュ中にsrc、resourcesフォルダ、およびその他のファイルをどのように削除するかを説明してください。 – Simon

+0

FWIW、parse-serverについては何も知らないけど、npmリポジトリからパッケージがインストールされているようです。したがって、ある時点で開発者は 'npm publish'を行い、コードをnpmリポジトリにプッシュしました。それで、パーズサーバーの事前公開スクリプトが実行されます。 – Kryten

関連する問題