相关疑难解决方法(0)

节点上的客户端:未捕获的ReferenceError:未定义require

所以,我正在用node/express + jade combo编写一个应用程序.

我有client.js,在客户端加载.在该文件中,我有从其他JavaScript文件调用函数的代码.我的尝试是使用

var m = require('./messages');
Run Code Online (Sandbox Code Playgroud)

为了加载messages.js(就像我在服务器端一样)的内容,然后加载该文件的调用函数.但是,require没有在客户端定义,它会抛出窗体的错误Uncaught ReferenceError: require is not defined.

这些其他JS文件也在客户端的运行时加载,因为我将链接放在网页的标题上.因此,客户端知道从这些其他文件导出的所有函数.

如何从打开服务器套接字messages.js的主client.js文件中的其他JS文件(例如)中调用这些函数?

javascript sockets node.js express pug

277
推荐指数
5
解决办法
55万
查看次数

如何在节点中使用es6导入?

我试图在节点中获取es6导入的挂起,并尝试使用此示例中提供的语法:

Cheatsheet链接:https://hackernoon.com/import-export-default-require-commandjs-javascript-nodejs-es6-vs-cheatsheet-different-tutorial-example-5a321738b50f

我正在查看支持表:http://node.green/,但无法找到支持新导入语句的版本(我尝试查找文本import/require)我目前正在运行节点8.1. 2并且还认为,由于cheatsheet是指.js文件,它应该与.js文件一起使用.

当我运行代码时(取自cheatsheet的第一个例子):

import { square, diag } from 'lib';
Run Code Online (Sandbox Code Playgroud)

我收到错误:SyntaxError:意外的令牌导入.

参考lib我正在尝试导入:

//------ lib.js ------
export const sqrt = Math.sqrt;
export function square(x) {
    return x * x;
}
export function diag(x, y) {
    return sqrt(square(x) + square(y));
}
Run Code Online (Sandbox Code Playgroud)

我缺少什么,如何让节点识别我的import语句?

node.js es6-modules

240
推荐指数
11
解决办法
22万
查看次数

在 ES6 Node.js 中导入“.json”扩展会引发错误

我们正在尝试使用 Node.js 为 ES6 导出和导入模块的新方法。从package.json文件中获取版本号对我们来说很重要。下面的代码应该这样做:

import {name, version} from '../../package.json'
Run Code Online (Sandbox Code Playgroud)

但是,在执行时抛出以下错误:^

TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".json" for T:\ICP\package.json imported from T:\ICP\src\controllers\about.js
Run Code Online (Sandbox Code Playgroud)

有什么我们遗漏的吗?不支持
扩展.json吗?
有没有其他方法可以使用 Node.js 13+ 检索此信息?

javascript node.js es6-modules

43
推荐指数
4
解决办法
2万
查看次数

标签 统计

node.js ×3

es6-modules ×2

javascript ×2

express ×1

pug ×1

sockets ×1