【问题标题】:How to add multiple NODE_PATH in package.json?如何在 package.json 中添加多个 NODE_PATH?
【发布时间】:2018-02-04 05:16:20
【问题描述】:

如何在 package.json 中添加多个 NODE_PATH?

我想要这些多条路径:

NODE_PATH=./ NODE_PATH=./modules/

NODE_PATH=./lib NODE_PATH=./modules/

package.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"
}

server.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”

有什么想法吗?

【问题讨论】:

    标签: node.js package.json


    【解决方案1】:

    您在示例中使用 NODE_PATH 的方式,通过设置两次,您将在第二次覆盖写入您第一次分配的值。

    相反,将 NODE_PATH 设置为多个路径,由 冒号(在 MacOS 或 Linux 上)或 分号(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"
    }
    

    参见 Node.js 文档:

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

    【讨论】:

    • 对于 windows,您需要添加分号 (;) 而不是冒号 (:)
    猜你喜欢
    • 2018-02-04
    • 2020-06-27
    • 1970-01-01
    • 2013-06-04
    • 2017-10-02
    • 1970-01-01
    • 2016-09-03
    • 2017-01-17
    • 2023-03-08
    相关资源
    最近更新 更多