Tag: browserify

Node.js – Browserify:parsingtar文件时出错

我试图通过HTTP下载一个tar文件(非压缩的),并将其响应到tar-streamparsing器进行进一步处理。 当在terminal上执行时,这是完美的,没有任何错误。 对于在浏览器中使用的相同的东西, bundle.js文件是使用bundle.js生成的,并包含在HTML中。 tarstream包含3个文件。 浏览器在浏览器上执行代码时,会成功parsing2个条目,但会引发第三个条目的以下错误: Error: Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped? 而使用相同的HTTP下载和parsing代码,tar文件在terminal上完整地下载和parsing。 为什么会发生这种情况? 代码片段是这样的: . . . . var req = http.request(url, function(res){ res.pipe(tar.extract()) .on('entry', function(header, stream, callback) { console.log("File found " + header.name); stream.on('end', function() { console.log("<<EOF>>"); callback(); }) stream.resume(); }) .on('finish', function(){ console.log("All […]

使用Browserify / Babel / node.js你可以要求一个基于variablesstring的文件

针对这个问题,您可以在node.js中在运行时需要一个基于string的path。 奇怪的是,这似乎为我工作在节点服务器端没关系,但似乎不工作客户端使用巴别/ Browserify 对于这个特定的错误,我基本上有很多模拟JSON数据,我想要testing时,实际的API是closures的。 // slug comes into the function and could for example be 'movies' let modulePath = '../mock/products/' + slug + '.js' let data = require(modulePath) 这给了我下面的错误 Failed! Error: Cannot find module '../mock/products/movies.js' 如果我改变它let modulePath = '../mock/products/movies.js'这将是没有问题的检索数据…正如我提到,如果我运行这个服务器端没有问题,但是不好当我运行代码客户端。 我使用babel / babelify将ES6代码转换为ES5 使用以下命令与browserify一起构build browserify –debug -t [babelify] client.js > public/js/bundle.js 我的package.json中的开发devDependencies如下所示: "devDependencies": { "browserify": "^8.0.3", […]

使节点和浏览器的http服务器

即时通讯制作需要一个HTTP服务器的移动应用程序,所以即时通讯试图使它与browserify所以这就是即时通讯做的,我得到了这个server.js var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(1337, '127.0.0.1'); console.log('Server running at http://127.0.0.1:1337/'); 然后我这样做 $ browserify server.js> browserify.js 然后我喜欢这个我的HTML <html> <body> <script src="https.js"></script> </body> </html> 然后当我运行的HTML我得到这个错误 Uncaught TypeError: http.createServer is not a function 我怎样才能得到一个http服务器在浏览器上工作? 顺便说一句,我得到了http-browserify安装

使用请求来浏览包裹大小

我试图用browserify使用请求库。 我真的想要在客户端和服务器上使用相同的代码进行API调用。 我创build了一个小例子,我只需要请求。 test.js var r = require('request'); 然后我浏览它,并用光盘工具检查大小。 browserify test.js –full-paths –outfile discify/bundle.js && discify discify/bundle.js –output discify/disc.html 生成的bundle.js的大小几乎是1.5 MB。 650 KB是自己请求的,625 KB是浏览器,156 KB是browserify-core。 所以问题是: 为什么browserify和browserify-core都包含在软件包中? 有没有一种方法可以通过浏览请求来缩小捆绑的大小?

Browserify api:如何将高级选项传递给脚本

我正在使用Browserify API编写一个小脚本,并按照此处的自述文件。 除了当我需要通过高级选项下列出的标志时,所有的工作都可以正常工作,对于这些标志在API中似乎没有覆盖。 我想通过的是–node标志。 var b = browserify({ entries: ['src/index.js'], cache: {}, ignoreWatch: ['**/node_modules/**', './dist/'], packageCache: {}, plugin: [watchify, babelify], debug: true, node: true // => this options does not actually exist, so it does nothing }); b.on('update', bundle); function bundle() { b.bundle() .pipe(fs.createWriteStream('bundle.js')); } 在命令行中,这将转化为watchify src/index.js –node -o bundle.js (和它的工作原理)。 我认为文档中的一行说: 所有其他选项直接转发到模块代码和浏览器包。 可能包含一些帮助,但我不清楚如何。 任何指针呢?

http模块(具有browserify的node.js)不会使用PATCH方法写请求主体

我一直在开发一个Web客户端来与REST API服务器交互,并且想要使用PATCH方法。 尽pipe我已经试图将请求主体写入PATCH的请求,但是我发现主体仍然是空的。 虽然PUT或POST工作正常。 我可以用PUT来代替,但是有人知道我的http模块的用法是错的吗? 先谢谢你。 var http = require('http'); module.exports = { patch: function(path, data, done, fail){ var jsonData = JSON.stringify(data); var options = { headers: { 'Content-Type':'application/json;charset=UTF-8', 'Content-Length':jsonData.length, } }; var req = this.request(path, "PATCH", done, fail, options); // THIS CODE DOESN'T WRITE jsonData INTO REQUEST BODY req.write(jsonData); req.end(); }, request: function(path, method, […]

由主机卷共享覆盖的Docker容器文件

我正在build立一个应用程序在Python中有JavaScript文件。 我想使用browserify ,所以我想要安装一些节点模块,我可以在我的js文件中使用require调用。 我只需要这些节点模块在我的容器而不是主机。 这是我的节点特定容器的Docker设置。 ### Dockerfile FROM node:5.9.1 RUN npm install -g browserify RUN mkdir /js_scripts ADD package.json /js_scripts/ WORKDIR /js_scripts RUN npm install # This installs required packages from package.json RUN ls # lists the node_modules directory indicating successful install. 现在我想用这个容器从我的主机共享js files ,这样我就可以在容器中运行browserify main.js -o bundle.js命令。 这是我docker-compose.yml ,它将host_js_files复制到我的js_scripts目录中。 node: build: . volumes: – […]

google-trends-api npm找不到使用browserify的模块

我试图用browserify来使用google-trends-api npm软件包,但却无处可去。 这是我的main.js文件 var googleTrends = require('google-trends-api'); var options = { geo: 'country name', date: 'yyyymm', keywords: ['some', 'list', 'of', 'keywords'], category: 'some category' }; googleTrends.apiMethod(options) .then(function(results){ console.log("Here are your google trend results!", results); }) .catch(function(err){ console.log("there was an error :(", err); }); 这里是我的bundle.js (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module […]

browserify无法调用我捆绑的function,它没有定义

我有一些与browserify问题,我想捆绑下面的node.js文件项目upload.js ,我修改了下面的代码的文件,并在upload.js相同的目录下调用upload2.js文件: var SketchfabDataApi = require( '../../index' ); var Swagger = require('swagger-client'); var fs = require('fs'); var path = require('path'); var api = new SketchfabDataApi(); function UploadModelBySketchfabdataApi(token,idinputfile) { //var file = jQuery(idinputfile)[0].files[0]; var file = document.getElementById(idinputfile).files[0] if (file) { var fileName = file.name; } var fullPathFile = document.getElementById(idinputfile).value; //var fullPathFile = window.location.protocol + "//" + […]

有angular度的服务和浏览

我正在使用AngularJS进行SPA,而我正在使用browserify来构build我的应用程序。 现在问题出现了,我们应该以传统的方式来编写Angular服务,还是只require它们。 由于Angular服务是单例,因此可以很容易地通过require来完成:简单地暴露一个对象文字,就完成了。 工厂也是可能的,只是暴露一个function。 等等 … 我目前唯一的缺点是我无法从这样的文件(例如$http )访问其他真正的 Angular服务,但在后台浏览,这似乎并不重要。 例如,你可以很容易地使用Node.js的http模块,这要归功于browserify。 那么你怎么看待这个? 这有什么其他的优点和缺点? PS:请注意,我不是在问这是好还是坏,因为这可能主要是主观的。 我感兴趣的是有哪些机会出现,或者我要面对哪些风险。