使用babel-node和dotenv的npm启动脚本

时间:2018-09-06 17:06:00

标签: javascript babel package.json nodemon npm-scripts

我有个运行良好的脚本

"start": "nodemon -x node -r dotenv/config src/index.js"

我想使用babel-node代替node。因此,有了新的脚本:

"start": "nodemon -x babel-node --presets=env -r dotenv/config -- src/index.js"

但是我得到这个错误

[nodemon] starting `babel-node --presets=env -r dotenv/config src/index.js`
internal/modules/cjs/loader.js:583
    throw err;
    ^

Error: Cannot find module 'pathTo/dotenv/config'

你能帮忙吗?

5 个答案:

答案 0 :(得分:1)

issues在babel中存在了很短的时间。 使用--require flag

时,@ babel / node似乎无法解析节点模块
  "start": "nodemon --exec babel-node -r ./node_modules/dotenv/config src/index.js"

此问题现在为resolved。 使用@ babel / node允许node_modules中的-r

  "start": "nodemon --exec babel-node -r dotenv/config src/index.js"

答案 1 :(得分:0)

我认为您应该检查pathTo / dotenv / confit资源路径。 我知道Babel节点捆绑文件具有非常严格的路径规则。

答案 2 :(得分:0)

是,

"start": "nodemon -x babel-node -r node_modules/dotenv/config --presets=env src/index.js"

似乎可以工作

编辑实际上,这绝对不起作用

答案 3 :(得分:0)

我知道这是一个相当老的线程,但这对我有用。完全公开,我真的不知道为什么为什么有效,但是确实有效。压缩为相关的文件。

环境

Windows 10
Node 10.13.0
NPM 6.4.1
Babel 7.2.3
Nodemon 1.18.9
Dotenv 6.2.0

package.json:

{
    "scripts": {
        "dev": "nodemon src/index.js -- --require node_modules/dotenv/config"
    }
}

nodemon.json:

{
    "execMap": {
        "js": "babel-node --presets @babel/preset-env"
    }
}

答案 4 :(得分:0)

这对我有用

    "start": "nodemon --exec babel-node -r node_modules/dotenv/config index.js"