我正在写一个应用程序使用Node.js.具体来说,我使用节点v10.3.0。此应用程序位于位于的目录中。/my-mode-控制台/index.js
。此应用程序有一个package.json文件位于./my-mode-控制台/package.json
。这个应用程序引用了一个在./my-模块/项目/
中定义的类。需要注意的是my-模块
表示自己的包。这个包是在./my-模块/package.json
中定义的。index.js代码如下:
'use strict';
import { Item } from '../my-module/items/item.js';
async function entry() {
let item = await Item.FindById(1);
console.log(item);
}
entry();
当我尝试运行此操作时,会出现以下错误:
import { Item } from '../my-module/items/item.js';
^
SyntaxError: Unexpected token {
我的进口声明有什么问题?在我看来这是正确的。我是不是误解了什么?
项目js
class Item {
constructor() {}
async static FindById(id) {
console.log('finding item by id: ' + id);
}
};
module.exports = Item;
谢谢
第一:
class Item {
constructor() {}
async static FindById(id) {
console.log('finding item by id: ' + id);
}
};
module.exports.Item = Item; // change this line
秒:
'use strict';
// import { Item } from '../my-module/items/item.js'; // not sure if it work, it work in react, but in regular node.js can be wrong (look doc ES6)
const Item = require('../my-module/items/item.js');
var someitem = new Item();
async function entry() {
let item = await someitem.FindById(1);
console.log(item);
}
entry();
从“…”导入{Item}/我的模块/项目/项目。js′
是用于从Javascript模块导入导出的ES6语法。如果没有其他标志,节点当前不支持此操作,因此您必须改用require
:
常量项目=需要('.../my-模块/项目/项目');
这样,您将需要在Item中导出类
。Item
。js
还要注意,您必须创建要导出的类的实例,以便在index.js
中使用其函数。
正如@jsur所提到的,ES模块仍然是实验性的。但是如果你想使用它们,你必须添加实验模块。如果仍然要使用ES模块,则必须重命名。js to。mjs和该项目。js,现在是commonJS样式,必须更改为ES模块小的其他修复。而且你也不必使用“use strict”,默认情况下它是严格的。所以最后应该是这样的:
指数mjs
import { Item } from '../my-module/items/item';
async function entry() {
let item = await Item.FindById(1);
console.log(item);
}
entry();
项目mjs
export class Item {
constructor() {}
static async FindById(id) {
console.log('finding item by id: ' + id);
}
}
现在只需执行节点——实验模块索引。mjs
你很好。
null 我是否需要创建模块y的库,然后将创建的库导入模块X? 或者解决办法是别的。
我撰写并发表了以下内容:https://github.com/justin-calleja/pkg-dependents 现在我写这个包在TypeScript:https://github.com/justin-calleja/update-dependents 我想在update dependents中重复使用pkg dependents(IndexInfoDict)中定义的类型,我想检查是否有
如图,我将framework中的ResponseResult引入到blog中,然后在maven install命令下报错。 blog依赖了framework。是不是因为我两个模块的java下的包名一样导致的,如果是的话,该怎么改呢?
文件夹结构: 我需要在中导入:
问题内容: 在将其标记为重复之前, 请阅读我的问题: 我正在尝试从子目录的文件中导入类 并且在我的课程中有()我尝试了什么: 放入main.py: 我收到错误消息: 从文件导入Klasa ImportError:没有名为“文件”的模块 当我尝试使用时: 我收到此错误: tmp = Klasa() NameError:未定义名称“ Klasa” 我在子文件夹中放了一个空格,它仍然不起作用,而我在 :
问题内容: 我在编写Python程序很有趣,但在尝试从另一个文件中的类导入函数时遇到问题。这是我的代码: 我想返回一个从另一个文件中的类调用的函数。当我导入文件时,它首先运行其中的类,然后继续运行原始代码。为什么会这样? 这是comm_system的代码: 问题答案: 将通讯系统的结尾更改为: 总是在运行的那些行会导致它在导入和执行时都运行。