由节点和mongodb错误

当我启动我的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); }); 

感谢帮助

我想你可能会误解节点的概念。 像弗洛里安说,node.js是“唯一”的V8引擎没有浏览器周围。 这意味着你没有文档(根本没有DOM)。

要开始使用node.js,我build议您查看O'Reilly的Up和node.js。 模块化系统也在那里解释。

为了在节点上使用MongoDB,你必须使用通过npm安装的软件包,例如mongoose或mongolian。 两者都在我上面提到的书中解释。

看到你使用它的方式,似乎你正在尝试使用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 ,也不需要自定义加载,只需要在服务器环境下编程即可。

我强烈build议你阅读Node Beginner 。

本文的目的是让您开始使用Node.js开发应用程序,向您教授关于“高级”JavaScript所需要的一切。 它远远超出了你的典型“Hello World”教程。