这就是我目前包含自己的模块的方式:
import AjaxUtils from 'common/util/AjaxUtils";
这是使用浏览器的"路径"选项实现的。
这在客户端完美地工作。
现在我正在尝试使用 Express 服务器在服务器端渲染相同的应用程序:
npm run babel-node -- server.js
(我使用 babel-node 的原因是我的应用程序是使用 ES6/ECMAScript 2015 语法编写的。
我看到的错误是:
module.js:338
throw err;
^
Error: Cannot find module 'common/utils/AjaxUtils'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/Users/eric/af/frontend_app//components/MyApp.jsx:3:30)
at Module._compile (module.js:460:26)
at normalLoader (/Users/eric/af/frontend_app/node_modules/babel-core/lib/api/register/node.js:199:5)
at Object.require.extensions.(anonymous function) [as .jsx] (/Users/eric/af/frontend_app/node_modules/babel-core/lib/api/register/node.js:216:7)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
如何配置npm run
babel-node
以查找特定文件夹中的模块,例如浏览器的"路径"选项?
和 babel 核心版本是 5.8.35
设置环境变量NODE_PATH
为我做
在bashrc或zshrc中。
$NODE_PATH="$(nvm which default)"