我想在客户端javascript应用程序中使用CommonJS模块系统.我 Select nodejs作为实现,但找不到任何关于如何使用nodejs客户端的教程或文档,即不使用node application.js

我包括了node.js在我的html页面中是这样的:

<script type="text/javascript" src="node.js"></script>

请注意,我没有在本地机器上进行nodejs,反正我在Windows上(我知道Cygwin选项).

var logger = require('./logger');

我的问题是,可以这样使用nodej吗?

推荐答案

Node.js是一个服务器端应用程序,在服务器上运行javascript.您要做的是在客户端上使用require函数.

最好是自己编写require方法,或者使用其他任何使用不同语法(如requireJS)的实现.

在做了一些额外的研究之后,似乎没有人使用commonJS语法为客户端编写require模块.我将在不久的将来完成我自己的写作,我建议你也这样做.

[编辑]

一个重要的副作用是require函数是同步的,因此加载大块javascript将完全阻塞浏览器.这几乎总是一个不必要的副作用.如果你要这么做,你需要知道你在做什么.requireJS语法设置为可以异步完成.

Node.js相关问答推荐

为高流量网站优化Node.js实时通知服务

仅当所需文档是最后一个文档时才更新MongoDB,否则插入

当FastifyJS向客户端发送响应时,apache 不会将其发送给他

如何从shell脚本中计算ecmascript模块?

是否可以在MongoDB中比较和匹配引用文档中的字段

如何在Sequelize with Postgres中将m:n关联表ID从整数迁移到UUID?

AWS-ROUTE 53指向S3存储桶,错误是别名目标名称不在目标区域内

mongodb首先自连接,然后根据某些条件与另一个表连接

动态设置元数据,无需重复请求 NextJS 13

数据未被中间件解析

错误 node :错误:绑定消息提供 16 个参数,但准备语句需要 15 个

错误:无法为 /blog 收集页面数据并且在 object.fetch 处获取失败

为什么要加密 CSRF 令牌?

BrowserRouter 无法渲染组件

MongoDB 根据使用聚合的条件从嵌套数组中删除对象

如何将`yarn.lock`与`package.json`同步?

错误:大多数中间件(如 bodyParser)不再与 Express Bundle

nodejs:Ajax 与 Socket.IO,优缺点

使用 node.js 循环 JSON

npm install packagename --save-dev 不更新 package.json