繁体   English   中英

构建跨node.js和客户端共享的javascript应用程序

[英]Building a javascript app shared across node.js and client side

我习惯跨平台开发。 在C / C ++方面它很简单,但在使用javascript时我遇到了问题。 我希望能够在客户端重用我的Web服务中的代码。 目前node.js要求我以最不愉快的方式编写我的程序,但我可以处理它:

//MyClass.js
function MyClass()
{
    this.test = function(){}
}

module.exports.MyClass = MyClass;
//server.js

var m = new require('MyClass.js').MyClass();
m.test();
//client.js
$.getScript("MyClass.js", function(){
    var m = new MyClass();
    m.test();
});

到目前为止一切都很好,但是当我需要从MyClass.js加载类时,我遇到了问题。 如何让它在所有平台上运行? 有没有办法在不处理文件的情况下实现可重用性?

Node要求您什么都不做。 如果您不喜欢Node模块系统的工作方式,请不要使用它。

//MyClass.js
MyClass = function ()
{
    this.test = function(){}
}

//server.js
require('./MyClass.js');
var m = new MyClass();
m.test();

现在,您的应用程序与客户端的内容兼容。 请记住,您现在正在全局命名空间中创建类,这是使用Node的模块布局的一个原因。

我建议还研究一些在客户端上使用Node-style require的方法。 有许多可用的脚本,例如RequireJSBrowserify

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM