无法在节点中导入模块
Unable to import the module in node
我正在尝试在 app.js 中导入 logger.js,但一次又一次地遇到错误。
语法错误:无法在模块外使用导入语句。
logger.js
var url='http://mylogger.io/log';
function log(message){
//send an http request;
console.log(message);
}
module.export.log=log;
app.js
import logger from './logger';
我正在使用节点 12.0。
如果您想从 logger.js 导入,请更改:
app.js
var newlog = require('./logger.js');
更详细的说明,可以查看this
如果您使用像 import logger from './logger';
这样的 ESM(ECMAScript 模块)语法,您必须指定 ESM 导出。
注意:如果您使用的是 v12,则必须使用 Node.js v12.17.0 或更高版本 (changelog reference) 或使用 --experimental-modules
标志。
此外,您必须在 package.json
中指定 "type": "module"
,如 @Evert 所述
所以:
logger.js
var url='http://mylogger.io/log';
// or export function log(message) {
function log(message){
//send an http request;
console.log(message);
}
export default log;
app.js
import logger from './logger';
package.json
在您的 package.json
中指定 "type": "module"
{
"name": "<project>",
"version": "<version>",
"description": "<description>",
"type": "module",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
......
}
我正在尝试在 app.js 中导入 logger.js,但一次又一次地遇到错误。 语法错误:无法在模块外使用导入语句。
logger.js
var url='http://mylogger.io/log';
function log(message){
//send an http request;
console.log(message);
}
module.export.log=log;
app.js
import logger from './logger';
我正在使用节点 12.0。
如果您想从 logger.js 导入,请更改: app.js
var newlog = require('./logger.js');
更详细的说明,可以查看this
如果您使用像 import logger from './logger';
这样的 ESM(ECMAScript 模块)语法,您必须指定 ESM 导出。
注意:如果您使用的是 v12,则必须使用 Node.js v12.17.0 或更高版本 (changelog reference) 或使用 --experimental-modules
标志。
此外,您必须在 package.json
中指定 "type": "module"
,如 @Evert 所述
所以:
logger.js
var url='http://mylogger.io/log';
// or export function log(message) {
function log(message){
//send an http request;
console.log(message);
}
export default log;
app.js
import logger from './logger';
package.json
在您的 package.json
"type": "module"
{
"name": "<project>",
"version": "<version>",
"description": "<description>",
"type": "module",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
......
}