Tag: 模块

节点模块使用错误

我节点moudle,我需要导出两个函数,并得到两个函数的参数arg1,我试着用下面的我得到错误,我在这里做错了什么? UPDATE 我在模块里面有两个方法 1. I need to expose it outside and to call it explicit from other module with parameter 喜欢 require('./controller/module')(functionName1)(parameter); 另一个函数(functionName2)在这个模块中,我需要调用它明确的两个参数,我应该怎么做的权利?

Typescript:从另一个模块的类中添加一个方法/从不同模块填充一个名称空间

故事 我正在build立一个math运算模块库。 我也想把这个库分成多个模块: core , relational , vectors等等。 这些模块可以单独使用(但都取决于core模块) 我知道这是不可能使用部分类如何将TypeScript类分成多个文件? / https://github.com/Microsoft/TypeScript/issues/563 问题 : core模块定义了Set类,它是一个math集。 它定义了诸如Set#add , Set#remove 。 但是, 可选的 relational模块在Set类上添加了Set#product运算符。 其他模块也可以在Set类中添加其他操作。 我想保持添加function的可能性,当我看到适合。 这个问题 使用打字稿 ,我怎样才能添加一个方法在另一个模块居住的类? 我如何安排types,以便我的图书馆用户只有在安装了relational模块的情况下才能在代码完成中看到Set#product ? 否则,他只看到#add和#remove操作? 我正在开发node.js这个库,但也使用browserify捆绑它的浏览器使用。 // core/set.ts export class Set { add(element){} remove(element){} } // relational/set.ts import {Set} from './../core/set.ts'; Set.prototype.product = function(){} // ? // app/index.js import {core} […]

只能在监听器函数中加载脚本/模块会导致问题?

My Express应用程序包含在特定情况下使用的JS代码片段; 确切地说,只有当来自某个网​​站的请求即将到来时。 在实践中,它看起来像这样: router.post('/', function(req, res) { res.setHeader('Content-Type', 'application/json'); switch(req.body.source){ case "/site1": var sitescr_a = require('sitesc_a'); sitescr_a.DoStuff(); break; case "/site2": var sitescr_b = require('sitesc_b'); sitescr_b.DoStuff(); break; }; } 当然,这意味着在其他情况下sitescr_a.DoStuff()和sitescr_b.DoStuff()都不可用 – 这是我的目标,因为这些是特定的脚本 – 但是会导致其他问题吗? 或者这是一种被认为安全的方法?

在多个文件/模块中使用相同的模块

假设我需要一个承诺模块,并且在多个文件中使用它,我将所有这些文件包含在app.js 。 我必须使用每个都需要的承诺模块吗? 有没有办法将它传递给导入的模块?

NodeJS中的模块inheritance

我试图在NodeJS应用程序中实现一些function,其中一些控制器(模块)将从一个低音模块inheritance,以便在其中存储所有常用function。 我很难做到这一点,我不确定为什么。 这是我到目前为止: 我的基本模块(其他人将从中inheritance): var http = require('http'); function ApiBaseController() { var self = this; } ApiBaseController.prototype.makeRequest = function() { }; module.exports = ApiBaseController; 一个子模块(将inheritance上面的一个模块: var APIBaseController = require(__dirname + '/apiBase/ApiBaseController.js'), inherits = require('util').inherits; function JustGivingAPI() { APIBaseController.apply(this); } inherits(APIBaseController, JustGivingAPI); JustGivingAPI.prototype.getAmount = function() { console.log("here"); }; module.exports = JustGivingAPI; 以及需要该模块的客户端代码: var express = require('express'); […]

使用Browserify加载Node.js模块

我正在使用Browserify( http://browserify.org/ )在JavaScript中加载模块。 我不断收到以下错误: 我不知道为什么会这样。 我在名为“wordnet-develop”的目录中有一个“package.json”文件,它位于与JavaScript文件相同的位置。 本来我觉得可能有path问题。 但是,我做了同样的事情,但有一个test.js文件,它的工作。 所以,我认为使用package.json可能有问题。 package.json文件的开头: 我的JavaScript文件的开始: 包含javascript文件的目录: 包含package.json文件的目录(见上面的“wordnet-develop”): UPDATE 我replace了var WordNet = require('./wordnet-develop/node-wordnet'); 用var WordNet = require('./wordnet-develop/lib/wordnet'); 正如klugjo所build议的那样。 它可能已经工作,但现在我得到一个新的错误消息: 这再次发生,但'asynchronous'模块丢失。 我检查了lib / wordnet,它包含了蓝鸟和asynchronous的要求,所以这可能是错误的来源。 但是,我现在不知道该怎么做。 我是新来的node.js和模块,所以我不熟悉的解决scheme。 我应该parsing所有的代码,并在网上find所有必需的模块? 他们不应该被包括在模块中吗? 是我试图在香草JavaScript中使用node.js模块的问题?

expressjs修改/添加模块中的对象属性

我明确创build这个模块: module.exports = { myobj : {}, myfun : function(app) { app.all('/',function (req, res, next) { this.myobj.foo = 'bar'; } } } 但它不起作用,我收到以下错误: 无法设置未定义的属性'foo' 但是,如果我这样做,这很好,为什么? module.exports = { myobj : '', myfun : function(app) { app.all('/',function (req, res, next) { this.myobj = 'bar'; } } } 我不明白为什么我不能添加属性到我的对象(第一种情况),但我可以修改我的var myobj(第二种情况)。 怎么了 ? 谢谢 !

避免在nodejs模块中重复require语句

目前,我正在开发Express应用程序,并创build了几个服务,这些服务是从一个index.js文件调用的模块: "use strict"; const MAX_TEXT_LENGTH = 100; var mysql = require('mysql') , _ = require('underscore') , Q = require('q') , moment = require('moment') , env = process.env.NODE_ENV || 'development' module.exports.module1 = require('./module1'); module.exports.module2 = require('./module2'); module.exports.moduleN = require('./moduleN'); 由于这个结构,我现在可以调用一次var Services = require('./services')并且我可以访问所有的服务。 问题是在这个文件中使用的模块,常量和“全局”variables在模块中不可用,所以我必须多次调用它们。 我也试图把增值税命名为let但这是行不通的。 有没有什么办法可以在这个index.js文件中定义模块和variables,并在模块中使用它们? 谢谢!!!

传递节点模块的上下文

我使用下面的代码部分工作,因为有内容不通过的情况下。 var app = require('buildersApps'); app.addContent({ folderPath: __dirname + '/content/' }); app.start(); 为了解决这个问题(上下文),我使用bind()方法添加下面的代码,但是我的问题是,是否有更好的/更简洁的方法来实现呢? var app = require('buildersApps'); app.addContent({ folderPath: __dirname + '/content/' }).then(app.start.bind(app));

什么是nodejs文件中的函数的上下文?

什么是nodejs文件中的函数的上下文? 如果我需要导出function,我只写 module.exports = function () {}; or module.someFunction = function () {}; 但是什么情况下没有模块的function呢? function someFunction () {}; console.log(module); // not someFunction console.log(module.exports); // not someFunction PS我在哪里可以看到这个文件中声明的函数列表? 在浏览器中,我有window 。 在nodejs中我有global , module , module.exports ,但没有一个它没有声明的function。