2016-08-31 12 views
1

私はsetFilelocationを持っていますが、この変数は複数の.jsファイルで使用しています。したがって、この変数を使用するたびに同じパスが設定されます。これらの入力を取り、フルを返します代わりに、グローバルな機能を持っているnode.js/javascript - 変数を相対パスにマップする方法

var setFileLocation = '/home/name/parent1/parentdirec/direc/qa.json'; 

答えて

0

あなたがrequire

を使用することができるノードを使用しているとして、私はこの

などの設定情報でこれを行うには、設定が必要なコードの中で次に

module.exports = { 
    v1: somevalue, 
    fileLocation: "/default/file/loc", 
    computePath: (dir, subdir, file) { 
     //use Vasans example here 
    } 
}; 

例えばconfig.jsと呼ばれます。 js

var config = require('./config.js'); 

変数またはパスを作成するには、目的球にCCESS、あなたが

0

、私はグローバル変数としてこの変数を使用することができますし、私は一度だけこの場所をハードコーディングすることができます任意の方法は、次のような、ありますパス。

var path = require('path') 
function computePath(dir, subdir, file) { 
    var pathParts = []; 
    pathParts.push(dir, subdir, file);  
    return pathParts.join(path.sep); 
} 
+0

サブディレクトリの中に私はこれを行うことができますどのように私はアクセスしたい複数のファイルは、存在する場合は? – MOUSE

+0

それはあなたが探している場合は、3番目のパラメータの別の値で呼び出すことができますか? – Vasan

+0

はい私はそれだけのためにlokkingです.. – MOUSE

0

グローバル変数として設定して:

global.setFileLocation = '/home/name/parent1/parentdirec/direc/qa.json';

次に、あなたのコードの任意の場所でそれを使用することができます。

console.log(setFileLocation);

しかし、そのようにグローバル変数を使用することがあることを覚えておいてくださいお勧めしません。 1つのファイルに

0

をしたい方の道グローバル使用して多くのオプション

  1. は実際には、Node.jsのアプリは、グローバル変数を含めることはできませんので(お勧めではないがあります)

    global.setFileLocation = '/home/name/parent1/parentdirec/direc/qa.json';

  2. ユーティリティモジュールへのエクスポートとインポート、それ

    ==== YOUR_APP/config.jsの==== module.exportsは= { のFileLocation:「/ホーム/名前/親1/parentdirec/DIREC/qa.json " };

    === YOUR_APP/SOME_PATH/a.js ==== require( 'rootpath')();

    VARの設定は=(「/ config」を)必要と // config.fileLocation

関連する問題