将JavaScript类导入另一个类时出现意外标识符{classname}
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了将JavaScript类导入另一个类时出现意外标识符{classname},小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1968字,纯文字阅读大概需要3分钟。
内容图文
我正在使用Node v10.11.0,并且正在从Ubuntu 18.04运行此脚本.
我的文件设置如下所示:
main.js
import Login from './Login.mjs';
class Main {
constructor() {
const login = new Login();
login.login();
}
}
new Main();
Login.mjs
import readline from 'readline';
class Login {
constructor() {
this.username = '';
this.password = '';
this.readline = readline.createInterface({
input: process.stdin,
output: process.stdout
});
}
login() {
this.readline.question('What is your username?', answer => {
this.username = answer;
});
this.readline.question('What is your password?', answer => {
this.password = answer;
});
}
}
export default Login;
我使用以下命令调用main.js:
node --experimental-modules main.js
这导致以下错误:
(node:7280) ExperimentalWarning: The ESM module loader is experimental.
/home/jrenk/Workspace/bitefight/main.js:1
(function (exports, require, module, __filename, __dirname) { import Login from './Login.mjs';
^^^^^
SyntaxError: Unexpected identifier
at new Script (vm.js:79:7)
at createScript (vm.js:251:10)
at Proxy.runInThisContext (vm.js:303:10)
at Module._compile (internal/modules/cjs/loader.js:657:28)
at Object.Module._extensions..js
(internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at createDynamicModule (internal/modules/esm/translators.js:56:15)
at setExecutor
(internal/modules/esm/create_dynamic_module.js:50:23)
^^^^^属于登录名,但我似乎无法在问题中将其格式化.
我还尝试将Login.mjs保存为Login.js,并在没有–experimental-modules的情况下调用main.js,但这导致了完全相同的错误.
这个问题类似于this question.,正如我上面说的,我已经尝试过那里描述的内容,但是没有运气.
解决方法:
本机ES模块(导入和导出语句)只能在Node中的.mjs文件中使用.为了使用它们,入口点应该命名为main.mjs.
为了在.js文件中使用ES模块,应将ES模块进行转译以符合要求,或将其与custom ES module loader本机一起使用.由于后者不是本机的Node.js行为,因此,建议不要作为经验法则来使用. .
内容总结
以上是互联网集市为您收集整理的将JavaScript类导入另一个类时出现意外标识符{classname}全部内容,希望文章能够帮你解决将JavaScript类导入另一个类时出现意外标识符{classname}所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。