javascript - 导出 node.js 的问题
问题描述
我正在尝试将变量从一个 js 文件导入到 node.js 环境中的另一个。以下是仅包含重要部分的文件 -
文件1.js
var socket = io.connect();
export default socket;
文件2.js
import socket from "./chat.js";
我的 file1.js 显示一个错误,即 Uncaught SyntaxError: Unexpected token 'export' 。我搜索了网络,原因是我试图在节点 js 环境中使用 ES6 导入/导出语法。所以我使用 esm 包运行了我的 server.js 文件。
节点 -r esm app.js
app.js 文件 -
const express = require('express');
const app = express()
app.get('/', function (req, res) {
res.sendFile(__dirname+'/index.html')
})
app.use(express.static(__dirname))
app.listen(3000, () => console.log('Example app listening on port 3000!'))
这也不起作用,返回意外令牌导出的相同错误。谁能帮帮我?
注意:- 我的 app.js 文件是一个简单的 express 文件,它使用 file1.js 对 HTML 页面有一个 get 请求。
解决方案
如果您不想使用 ESM 模块语法,则此代码将起作用:
文件 1.js:
const socket = { test: 1 }
module.exports = socket
文件 2.js:
const socket = require('./file1')
console.log(socket)
运行node file2.js
会记录{ test: 1 }
。它使用节点模块语法而不是 ESM 之一,但它可以工作。
推荐阅读
- arduino - BME680气体传感器价值不断提升
- java - 使用休眠进行连接的sql查询
- r - 我正在尝试从 R 中的 github 读取 csv 文件。但是,当我尝试获取列的名称时,我只得到一个名称
- c# - 使用 Azure 搜索服务获取距离
- javascript - 在选择文件上附加默认图像
- python - 如何在输出窗口中并排打印单独的多行 ascii 符号
- python - Python将日期/时间拆分为月、日期、年、时间列
- php - Composer 将依赖项安装到子目录中
- android - setContentView 使用的是非 SDK 接口
- c# - 如何在错误的 API url 上返回 404?(ASP.NET 核心 + SPA)