Tag: 节点模块

nodejs如何将node_modules目录提供给前端进行访问?

如果不使用Browserify或Webpack等打包软件,我在nodejs中有一个简单的服务器。 var express = require('express'); var bodyParser = require('body-parser'); var request = require('request'); var app = express(); app.use(bodyParser()); app.use(express.static('public')); app.use(express.static('node_modules')); app.post('/api/searchjob', function (req, res) { res.json({data: "hello"}); }); app.get('/', function(req,res) { res.sendfile('public/index.html'); }); app.get('/*', function(req, res){ res.redirect('/'); }) app.listen(process.env.PORT || 3000, function () { console.log('Example app listening on port 3000!') }); 我希望前端也可以访问一些node_modules包,我该怎么办? 我的index.html文件在“public”目录下,文件夹结构如下所示: ├── README.md […]

从打字稿模块自动生成index.d.ts,types定义

如果我有一个TypeScript模块保存为my-function.ts,如下所示: export function myFunction (param: number): number { return param } 这将以任何方式编译为JavaScript,并将其types定义放宽。 然后我可以创build一个index.d.ts文件来声明这个模块的定义,但是重新定义/重新定义这个定义似乎有点繁琐。 有没有办法从my-function.ts文件自动生成types定义到一个index.d.ts文件?

在模块中使用express.js创buildSocket.IO服务器,并从其他模块访问它

我想要一个模块,我通过一个快速的应用程序创build一个服务器与Socket.IO。 在require调用之后,我想返回io对象。 这是我有: ioserver.js var http = require("http"); module.exports = function (expressApp) { var server = http.createServer(expressApp); var io = require("socket.io")(server); return io; }; sample-request.js var io = require("./ioserver"); console.log("sample request io", io); index.js var express = require("express"); var app = express(); var io = require("./modules/ioserver")(app); console.log("index io", io); var sampleRequest = require("./modules/sample-request"); 问题 在index.js […]

如何将node_modules文件夹部署到生产服务器?

我在PHP(LAMP服务器)中制作一个非常简单的网站 (如pastebin)。 这个网站使用jquery和bootstrap。 我之前使用了bower ,但是我想切换到使用npm 。 我的目录结构是这样的: 上市 HTML 的index.php node_modules jQuery的 DIST 的jquery.js 加上几十个不必要的文件夹 引导 … 当我使用bower时,我曾经将整个bower_components文件夹上传到我的FTP服务器。 我的node_modules文件夹相当大,包含数百个文件,所以我不知道是否应该上传它? 我想我可以上传package.json并在上传后在我的web服务器的命令行上运行npm install ,但是会暴露node_modules文件夹给公众构成潜在的安全隐患?

Request.js与Browserify无法正常工作

我目前正在构build一个js chrome扩展,为此,我需要从一些站点中删除数据。 所以,基于这个SO问题,我发现我可以通过使用Browserify 请求来实现这一点 。 我安装了两个使用npm和创build一个bundle.js片段创build我的bundle.js文件( 因为权限的原因,运行terminal命令不起作用 ),所以我可以在客户端,我的浏览器运行Node js require 。 好的,所以我最终设法创build了bundle.js文件,并试图在我的本地服务器上运行它,但它一直给我CORS错误,并且不返回所需的响应: 抓取API无法加载https://somesite/index.html 。 请求的资源上没有“Access-Control-Allow-Origin”标题。 原因' http:// localhost:8080 '因此不被允许访问。 如果一个不透明的响应满足您的需求,请将请求的模式设置为“no-cors”来取消禁用CORS的资源。 奇怪的是,如果我使用node从terminal直接运行“unbundled”文件: $ node myFileWithRequires.js 它按预期工作,返回报废的数据。 我究竟做错了什么? 我怎样才能使用request和浏览器在客户端的数据? 码: myBrowserifySnippet.js var browserify = require('browserify'); var b = browserify(); b.add('myrequest.js'); const fs = require('fs'); const writable = fs.createWriteStream('bundle.js'); b.bundle().pipe(writable); myFileWithRequires.js var request = require('request'); request('http://www.google.com', function (error, […]

WebStorm – 使node_modules“库根”,但也从索引中排除它

有没有一种方法来configuration一个WebStorm项目,以便selectnode_modules作为library root但它也被排除在索引之外? 我发誓,我看到一个项目,指出node_modules是library root和library root ,但我不知道如何设置。 任何人都知道如何?

NodeJS socket.io在路由器页面

我有app.js代码: var express = require('express'); var app = express(); var server = require('http').createServer(app); var io = require('socket.io')(server); io.on('connection', function(socket){ socket.on('newRideAdded', function(exclude){ io.emit('newRideAdded', exclude); }); console.log('a user connected'); socket.on('disconnect', function(){ console.log('user disconnected'); }); }); var bodyParser = require('body-parser'); app.use(bodyParser.json()); // support json encoded bodies app.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies app.use(express.static(__dirname + '/public/')); app.use('/rides', […]

对NodeJS模块开发的怀疑

我试图编写我的第一个NodeJS模块,但是我很难理解一些概念。 这是我现在的代码(一个genexer计数器/发生器): "use strict"; var ret = require('ret'); module.exports = function (regex) { if (Object.prototype.toString.call(regex) === '[object RegExp]') { regex = regex.source; } else if (typeof regex !== 'string') { regex = String(regex); } try { var tokens = ret(regex); } catch (exception) { return false; } return { charset: '', reference: [], count: function […]

如何使用节点模块kappa?

我在我的机器上安装了本地节点模块kappa,如下所述: https : //github.com/xjamundx/kappa/tree/patch-1#quickstart 我的config.json看起来: { "servers": [ { "host": "localhost", "port": 8000 } ], "plugins": { "kappa": { "paths": [ "https://registry.npmjs.org/" ] } } } 如果我蜷缩命令validation: http://localhost:8000/-/all它显示: {"statusCode":404,"error":"Not Found"} 在哪个目录下,我现在必须把自己的仓库,以及从我自己的本地npm仓库克隆仓库的命令是什么? 我找不到答案。

在需要其他模块之前等待asynchronous操作

在我的main.js中,我正在asynchronous读取一个文件。 一旦我的文件被加载,我在GLOBAL命名空间中设置了一些对象,并在我的require模块中使用它们(使用GLOBAL命名空间是不是一个不同的故事,我正在使用它)。 我的require d模块立即希望该variables在加载时存在。 那么如何让我的文件读取在main.js中完成? 我只需要在readFile的callback模块? 或者有更好的方法来做到这一点? 例: fs.readFile('./file', function (data) { // do something GLOBAL.obj = data; }); require('./module.js'); module.js obj.someFunction();