Mojito - 加载NodeJS模块

时间:2013-03-08 09:10:38

标签: javascript node.js module yui mojito

我正在使用:

  • Mojito 0.5.5
  • NPM 1.2.14
  • NodeJS 0.8.22

我正在尝试使用与NPM打包在一起的NodeJS模块创建一个简单的Mojito应用程序。

Documentation说:

  • 创建一个Mojito应用程序。
  • 将所有必需的依赖项添加到package.json中的依赖项对象。
  • 使用npm安装依赖项:{app_dir} $ npm install
  • 当Mojito启动时,您的应用程序将可以访问已安装的npm模块。

确实,上面的例子不起作用。

"dependencies": {
    "mojito": "0.5.x",
    "async": "0.2.x"
},

status: function(ac) {
    var async = require('async');
    ac.done({
        status: 'loaded'
    });
}

Mojito服务器:“错误:无法找到模块'async'”

网页错误:“错误:MODULE_NOT_FOUND”

有任何线索吗?

PS:当然,在 npm install 之后,项目文件夹中有一个 node_modules 文件夹,其中包含 async 包。

1 个答案:

答案 0 :(得分:2)

就像今天一样,mojito npm包被用作cli,但它也拥有mojito核心。这是有问题的,因为大多数开发人员将通过mojito start运行应用程序,该mojito运行于全局require包。这个以及当前YUI正在弄乱./node_modules/mojito/bin/mojito start的事实,它在需要依赖时会引起很多麻烦。

解决方案很简单,请确保在应用中本地安装mojito,然后通过node server.jsmojito start代替YUI 3.9.0来运行应用。

除此之外,我们正在努力将cli和core拆分为单独的包,并等待mojito start一次性解决此问题,以便开发人员可以继续使用{{1}}。