在Node.js和浏览器之间共享代码

时间:2014-08-05 10:48:46

标签: javascript node.js

我正在开发一个使用Node.js的项目。我熟悉JavaScript,但不是很好。作为其中的一部分,我遇到了一个我不确定如何克服的挑战。

我需要在服务器(Node.js)和我的客户端(浏览器)应用程序上共享一些代码。我希望能够通过键入以下内容来访问此代码:

myCompany.myProject.myFunction(someValue);

或只是

myProject.myFunction(someValue);

为了做到这一点,我有以下内容:

'use strict';

var myCompany = myCompany || {};
var myProject = myCompany.myProject || {};

myProject.myFunction= function(someValue) {
  console.log(someValue);
};

在myFunction内部,如果我在服务器(Node.js)上运行,我想要一件事,如果我在浏览器中运行,我想要一些不同的东西。但是,我不知道该怎么做。我查看了this postthis SO question,但我仍然不理解。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

你需要这样的东西:

function someFunctionName() {

    // Common functional

    if (typeof module !== 'undefined' && module.exports) {
        // Do something only in Node.JS
    } else {
        // Do something else in the browser
    }

    // Common functional
}