検索

ホームページ  >  に質問  >  本文

node.js 怎么require"绝对路径"?

//文件树

/app
  ├components
  | ├login
  | |    └index.js
  | ├video
  | |    └index.js
  | └posts
  |      └index.js
  ├config
  ├containers
  | ├login
  | |    └index.js
  | ├video
  | |    └index.js
  | └posts
  |      └index.js
  └src

比如我要在containers -> login -> index.js加载components-> login -> index.js,我要这样写:

require('../../components/login');

有没有可以直接加载绝对路径的方法?类似这样:

require('/components/login');

或者其他方案?

伊谢尔伦伊谢尔伦2786日前691

全員に返信(3)返信します

  • 黄舟

    黄舟2017-04-17 15:33:57

    require() は次のように絶対パスを使用できます:

    リーリー

    上で述べたように、絶対パスの使用は推奨されません。

    返事
    0
  • 巴扎黑

    巴扎黑2017-04-17 15:33:57

    理解する必要があることの 1 つは、ノード サービスはサーバー上に配置されるということです。唯一の絶対パスはどこから来るのかということです (これは、requirejs を使用するフロントエンド ブラウザーと非常によく似ています)。現在の Word に対する相対値)。

    ただし、__dirname と path を組み合わせて、パスを取得する一般的なメソッドを記述することもできます

    app.js などの Nodejs エントリ ファイル内

    global.prefixPath = path.resolve(__dirname, 'XXX')

    後で使用する場合は、require(global.prefixPath + 'XXX')

    https://nodejs.org/dist/lates...

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 15:33:57

    ノードには、実行中にパスを生成できる変数とメソッドがあります:

    process.cwd() は、現在ノードコマンドが実行されているときのフォルダーのアドレスです。
    __dirname は、実行された js ファイルのアドレスです。

    ただ戦うだけ

    リーリー

    返事
    0
  • キャンセル返事