1

当我启动我的 JS 文件时,出现以下错误:

Charon:modules Modius$ node testfile.js 

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
ReferenceError: define is not defined
    at Object.<anonymous> (/Applications/MAMP/htdocs/spacebattles/server/modules/testfile.js:11:1)
    at Module._compile (module.js:441:26)
    at Object..js (module.js:459:10)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
    at Array.0 (module.js:479:10)
    at EventEmitter._tickCallback (node.js:192:40)
Charon:modules Modius$ 

这里是js文件

define(['./db_user'], function (db_user) {

    var db_user = document.createElement("db_user.js");
    var tranfer = {
        login: "test" ,
        email: "holishitumsonst.com",
        password: "123nu"
    };
    db_user.insert(transfer);

}); 

感谢帮助

4

2 回答 2

1

看到您使用它的方式,您似乎正在尝试使用Require.js

Node.js 不是客户端代码。你不需要 Require.js,已经require有。

使用示例:

// Loads the mongodb-client module in the "mongo" variable
var mongo = require('mongodb-client');

此外,没有document可用的,您不在浏览器中,也没有 DOM。如果你想要一个,你可以使用jsdom,但我认为这不是你想要的。

总结一下:不要以为你在浏览器中。你不是。没有document,没有window,不需要自定义加载,你可以在服务器环境中编程。

我强烈建议您阅读Node Beginner

本文档的目的是让您开始使用 Node.js 开发应用程序,并在此过程中教您需要了解的有关“高级”JavaScript 的所有知识。它远远超出了典型的“Hello World”教程。

于 2012-06-13T07:34:24.710 回答
1

我想你可能误解了节点的概念。就像 Florian 所说,node.js 是“唯一”没有浏览器的 V8 引擎。这意味着您没有文档(根本没有 DOM)。

要开始使用 node.js,我建议您查看 O'Reilly 的Up and running with node.js。那里也解释了模块化系统。

为了将 MongoDB 与 node 一起使用,您必须使用通过 npm 安装的包,如 mongoose 或 mongolian。两者都在我上面提到的书中进行了解释。

于 2012-06-13T08:11:37.263 回答