节点--experimental-modules-错误:找不到模块 [英] Node --experimental-modules - Error: Cannot find module

查看:1171
本文介绍了节点--experimental-modules-错误:找不到模块的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试导入本地文件时出现错误,尽管使用npm软件包时没有问题.

I am getting an error when trying to import a local file, though no problem when using npm packages.

import express from 'express'
import next from 'next'

import apis from './src/server/api'

api.js

export default {
  ello: 'bye',
  jamie: 'hey'
}

启动应用

node --experimental-modules --inspect server.js

错误

For help, see: https://nodejs.org/en/docs/inspector
(node:20153) ExperimentalWarning: The ESM module loader is experimental.
internal/modules/esm/default_resolve.js:59
  let url = moduleWrapResolve(specifier, parentURL);
            ^

Error: Cannot find module '/var/www/goldendemon.hutber.com/src/server/api' imported from /var/www/goldendemon.hutber.com/server.js
    at Loader.resolve [as _resolve] (internal/modules/esm/default_resolve.js:59:13)
    at Loader.resolve (internal/modules/esm/loader.js:70:33)
    at Loader.getModuleJob (internal/modules/esm/loader.js:143:40)
    at ModuleWrap.<anonymous> (internal/modules/esm/module_job.js:43:40)
    at link (internal/modules/esm/module_job.js:42:36) {
  code: 'ERR_MODULE_NOT_FOUND'
}

推荐答案

如果有人遇到此问题,我正在回答自己的问题.

I'm answering my own question if anybody else has this problem.

事实证明,在实验模型中,您需要定义带有扩展名的完整路径.因此,我尝试导入index.js以为它会知道.

It turns out in experimental model you need to define the full path with extension. So I am trying to import index.js thinking it will know.

要修复它:

import express from 'express'
import next from 'next'
import api from './src/server/api/index.js'

这篇关于节点--experimental-modules-错误:找不到模块的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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