导入node.js模块 - 语法:意外标识符



我正在尝试执行以下导入

import  ResClient from 'resclient';

结果

/home/arran/WebstormProjects/untitled1/app.js:2
import  ResClient from 'resclient';
        ^^^^^^^^^
SyntaxError: Unexpected identifier
    at new Script (vm.js:85:7)
    at createScript (vm.js:266:10)
    at Object.runInThisContext (vm.js:314:10)
    at Module._compile (internal/modules/cjs/loader.js:698:28)
    at Object.Module._extensions..js 
(internal/modules/cjs/loader.js:749:10)
    at Module.load (internal/modules/cjs/loader.js:630:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:570:12)
    at Function.Module._load (internal/modules/cjs/loader.js:562:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:801:12)
  • 模块文档位于此处,并且在示例中执行完全相同的导入。
  • 我已经在全球安装了该模块。

    npm list -g | grep resclient
    └─┬ resclient@2.0.2
    
  • 我正在使用以下节点版本

     $node -v
     v11.10.1
    

我已经看到了有关此错误的其他一些帖子。例如,这里是使用客户端JavaScript而不是节点的基于浏览器的问题。我是一个节点新手,因此无论多么基础,都将感谢任何指针。

对于节点12,您可以在软件包中添加属性 type

"type": "module"

不要忘记使用实验模块flag node --experimental-modules youapp.js

运行节点

我也面临同一问题。这是我修复它的方式。

我首先使用以下命令更新了我的节点及其软件包管理器版本:

npm install node@latest -g

npm install npm@latest -g

这样做后,我转到了我的package.json文件,并在scripts属性之前添加了以下行:

"type": "module",

最后,我回去尝试使用node app.js运行代码,但是直到使用以下命令:

node --experimental-modules app.js

在您的身边,将app.js替换为索引文件。希望它也对您有用

不错的编码

最新更新