No *_*ons 6 javascript node.js ecmascript-6
我正在节点中编写一个应用程序14.9.0。我通过添加"type": "module"到我的package.json. 我正在尝试为我的项目导入模块。我想避免使用相对导入(因为../../可读性很高),而是想使用绝对导入,就好像每个模块都是从index.js项目根目录中的文件导入一样。
根据我收集的有关节点如何发现模块的信息,.在导入路径前面省略 应该使节点默认从项目的根目录查找模块。然而,它反而尝试从我的硬盘驱动器的根目录查找。
...
import User from '/models/user.model';
...
Error [ERR_MODULE_NOT_FOUND]: Cannot find module 'C:\models\user.model' imported from C:\Users\User\Documents\My App\my-app\index.js
Run Code Online (Sandbox Code Playgroud)
我没有使用 typescript、webpack、babel 或任何其他转译器。没有它们是否有可能获得绝对进口?
Mat*_*tas -1
因为你缺少*.js扩展名。ECMA 节点模块需要它(https://nodejs.org/api/esm.html#esm_mandatory_file_extensions)。这将起作用(现在我正在没有 Babel 的节点 14 中开发):
import User from '/models/user.model.js';
Run Code Online (Sandbox Code Playgroud)
并在 root package.json 中添加:
"type": "module"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4081 次 |
| 最近记录: |