如何在package.json中添加多个NODE_PATH? [英] How to add multiple NODE_PATH in package.json?

查看:127
本文介绍了如何在package.json中添加多个NODE_PATH?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

How do I add multiple NODE_PATH in package.json?

我想要这些多条路径:

NODE_PATH=./ NODE_PATH=./modules/

NODE_PATH=./lib NODE_PATH=./modules/

package.json:

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:

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"

Error: Cannot find module 'lib/sample'

有什么想法吗?

推荐答案

在示例中使用 NODE_PATH 的方式,将其设置两次,就覆盖了用以下方法写入首先分配的值:第二次.

The way you are using NODE_PATH in your example, by setting it twice, you are overwriting the writing the value you assign first with the second time.

相反,将 NODE_PATH 设置为多个路径,以分号(在MacOS或Linux上)或分号(Windows)定界,如下所示:

Instead, set NODE_PATH to multiple paths, delimited by colons (on MacOS or Linux) or semicolons (Windows), like this:

{
    "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文档:

See Node.js documentation:

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

这篇关于如何在package.json中添加多个NODE_PATH?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆