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

标签 node.js package.json

如何在 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"
}

服务器.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!')
})

错误:

Error: Cannot find module 'lib/sample'

有什么想法吗?

最佳答案

您在您的示例中使用 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

关于node.js - 如何在 package.json 中添加多个 NODE_PATH?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45893524/

相关文章:

javascript - 使用 Vue.js 和express.js 交付 Html 文件

javascript - 发送网格 - 当我使用 api 发送电子邮件时,我收到的电子邮件缺少所有设计,例如只显示文字

javascript - 当通配符匹配时, Node 快速 GET 路由会失败所有其他请求

javascript - 如何连接/分割实际上是一个对象的对象

node.js - 使用 package.json 停止脚本终止 Node 进程

node.js - 如何使用express/Node.js 重定向 URL,同时维护所有 GET 参数

npm - 如何应用 package-lock 和 package json 中的更改?

angular - 如何在 Angular 中显示应用程序版本?

node.js - 我应该依赖 package.json 还是对我的 Node 模块进行版本控制?

node.js - 吉普错误!构建错误 - 如果未定义 npm_config_node_gyp