2017-01-09 9 views
1

私はノードモジュールとしてリリースされているjavascriptプロジェクトを持っています。自己をnpmのノードモジュールとして扱います

:このプロジェクト内の他のファイルをインポートするには、ルートパスとしてモジュール名を使用して

// <this_module_path>/action/foo.js 
import execution from './execution'; 
import types from '../types'; 

とも:いくつかの理由から、私はこのプロジェクト内の他のファイルをインポートするには、相対パスを使用して、いくつかのソースコードを持っています

// <this_module_path>/action/doSomething.js // Using module name to import // equals to import './helpers.js' in this case (in the same folder) import executionHelpers from 'this-module/action/helpers.js'; // equals to import '../types/helpers' in this case import typeHelpers from 'this-module/types/helpers.js'; 

相対パスではなくモジュール名を使用して他のプロジェクトファイルをインポートするにはどうすればよいですか?

+1

Babelを使用してコードを翻訳し、 'import'構文をCommonJSに変換していますか? – bman

答えて

0

NodeJSは、CommonJSを使用してjavascriptモジュールをインポートします。 NodeJSにES6 import/export構文を追加するためのno clearタイムラインがあります。したがって、NodeJSで実行する前に、Babelを使用してコードをCommonJSモジュールシステムに移行する必要があります。この使用CommonJS

  1. this-moduleモジュール用に別のパッケージを作成を行うにはどのように

    。パッケージはメインモジュールのnode_modulesディレクトリ内に作成する必要があります。これはnode_modulesディレクトリ内のnpm initコマンドを使用して実行できます。そのファイル内

  2. は、Javascriptファイルを作成します(従来はindex.jsと呼ばれ、そのパッケージのメインスクリプトにする必要があり

あなたpackage.jsonは次のようなものになります。

{ 
    "name": "test", 
    "version": "1.0.0", 
    "description": "", 
    "main": "index.js", 
} 
  1. index.jsでは、変数(helperstypesなど)をエクスポートして簡単にインポートできますあなたのメインパッケージに入れてください。
関連する問題