代码之家  ›  专栏  ›  技术社区  ›  Run

如何在包中添加多个NODE_路径。json?

  •  11
  • Run  · 技术社区  · 8 年前

    如何在包中添加多个NODE\u路径。json?

    我希望有以下多条路径:

    NODE_PATH=./ NODE_PATH=./modules/
    

    NODE_PATH=./lib NODE_PATH=./modules/
    

    包裹json:

    {
      "name": "my-app",
      "description": "env",
      "repository": "https://github.com/xxx.git",
      "scripts": {
        "dev": "NODE_PATH=./lib NODE_PATH=./ node server.js",
        "start": "cross-env NODE_ENV=production NODE_PATH=./ NODE_PATH=./modules/ nodemon --exec babel-node --presets es2015 server.js"
      },
      "dependencies": {
        "cross-env": "^5.0.5",
        "express": "^4.15.4"
      },
      "license": "MIT"
    }
    

    服务器js:

    'use strict'
    
    import express from 'express'
    import sample from 'lib/sample'
    import config from 'lib'
    
    const app = express()
    const isProd = (process.env.NODE_ENV === 'production')
    const port = process.env.PORT || 3000
    console.log(isProd)
    console.log(sample)
    console.log(config)
    
    app.get('/', function (req, res) {
      const data = {message: 'Hello World!'}
      console.log(data);
      return res.status(200).json(data);
    })
    
    app.listen(port, function () {
      console.log('listening on port 3000!')
    })
    

    错误:

    错误:找不到模块“lib/sample”

    有什么想法吗?

    1 回复  |  直到 8 年前
        1
  •  16
  •   Patrick Hund    8 年前

    你使用的方式 节点路径

    相反,设置 节点路径 到多个路径,由分隔 冒号 分号 (Windows),如下所示:

    {
        "name": "my-app",
        "description": "env",
        "repository": "https://github.com/xxx.git",
        "scripts": {
            "dev": "NODE_PATH=./lib:./ node server.js",
            "start": "cross-env NODE_ENV=production NODE_PATH=./:./modules/ nodemon --exec babel-node --presets es2015 server.js"
        },
        "dependencies": {
            "cross-env": "^5.0.5",
           "express": "^4.15.4"
        },
        "license": "MIT"
    }
    

    https://nodejs.org/api/modules.html#modules_loading_from_the_global_folders

    推荐文章