我正在MERN应用程序上工作,而导入express则显示错误它显示了SyntaxError: Cannot use import statement outside a module
我的代码是
import express from 'express';
const app = express();
const port = process.env.PORT || 3000;
app.get('/',(req,res)=>{
res.send('this is homepage')
})
app.listen( port ,()=>{
console.log('server is running at port number 3000')
});
import
和export
为ES6语法。
要在NodeJS应用程序中启用ES6模块,请将"type": "module"
添加到package.json
文件中。
或者,您可以使用.mjs
扩展名为您的文件。
否则node默认使用CommonJS模块加载器,使用require
和module.exports
语法。
ES6模块支持在Node v12及以上版本中是稳定的,在v9 - v11中处于实验阶段,需要传递--experimental-module
标志。
Node.js文档:Modules: ECMAScript Modules
使用命名空间导入
import * as express from "express";
这行得通:
const e = require('express')
您可以使用:
const express = require('express');
或者直接写:
"type": "module"
,在package.json
在package.json中添加这样一行:
"type": "module"