2016-10-13 14 views
1

ここでのコンテキスト:Webpackは使用できません.Webpackを使用したくありません。私はすべてを「バニラ」として可能な限り保管したいと考えています。NodeJSを使用したエイリアシングモジュール

現在

project/ 
├── index.js 
├── lib/ 
│ ├── network/ 
│ │  request.js 
│ │  response.js 
├── pages/ 
│ ├── foo.js 

が、我々はインポートうindex.jsにいる考えると..あなたは、次のディレクトリで、たとえば、いずれかの相対パスまたは絶対パスを使用して、それらを必要とする必要があるプロジェクトにモジュールを作成します

var networkRequest = require('./lib/network/request.js') 

を介して要求し、私たちはfoo.jsはしている場合、我々は

var networkRequest = require('../lib/network/request.js') 
を経由して要求をインポートします私は思ったんだけど何

は、おそらく、Package.jsonでローカル別名を設定したり、どこか他ので好きにどのような方法があるかどうということです:あなただけのいずれかから

var networkRequest = require('network-request') 

を行うことができ

localPackages = [ 
    { name: 'network-request', path: './lib/network/request.js' } 
]; 

します正しいパスを提供します。

答えて

1

これは、npm linkが対象です。ネイティブと箱から出して。

ます。また、これは残念ながら、動作していないpackage.jsonに

{ 
    "name": "baz", 
    "dependencies": { 
    "bar": "file:../foo/bar" 
    } 
} 
+0

local pathsを設定することができます。 ' "依存関係":{ は "反応する": "15.3.2" を、 は「反応し、ネイティブ":" 0.35.0 "、 " @ components/RootTabBar ":"ファイル:./ src/components/RootTabBar " }、 ' 「モジュールを解決できません」というエラーが表示されます。 – Hobbyist

+0

@コンポーネント/ RootTabBar *の構文が解決されるはずです。私はモジュール名の中にハイフン以外の特殊文字を見たことがありません。 – Paul

+0

ここには多種多様なものがあります:https://www.npmjs.com/~exponent - 私も通常の名前で試しました、IE: "RootTabBar"でも動作しませんでした。 – Hobbyist

関連する問題