Tag: browserify

利用浏览器的NodeJS文件进入浏览器

我有一个NodeJS文件,我浏览使用browserify模块。 我用了下面的命令 browserify testFile.js -o bundle.js 为了在浏览器中使用这个文件,我正在利用window对象。 假设下面的代码是在浏览文件之后生成的。 var Main = function () { this.foo = function () { }, this.temp= function () { }, this.bar= function () { } } 为了使用我改变了 window.Main = function () { this.foo = function () { }, this.temp= function () { }, this.bar= function () { } } 然后使用这些函数,我用下面的代码: […]

Browserify尊重文件范围吗?

对不起,如果这是一个简单的问题,我是新来的JavaScript开发(来自.net)。 在node.js中,下面的代码似乎隐藏在“文件”范围内,也就是说, x和y的内容对其他文件是隐藏的。 var x = require('foo'); var y = 'bar'; var func = function() { return x(y); } exports.func = func; browserify是否也遵循关于范围界定的相同规则?

使用Browserify进行多种构buildconfiguration的复杂骨干应用程序

我正在开发一个大的Backbone应用程序,这个应用程序由于是多租户devise,可以很好的configuration,可以在很多平台上运行。 目前这些应用程序是通过Grunt构build的,环境variables用于确定在应用程序的最终版本中包含哪些Backbone文件。 目前包含的一些文件正在扩展或覆盖之前包含的其他文件。 举个例子: BaseHeader.js: var BaseHeader = Backbone.View.extend({ // code }); Header.js: var Header = BaseHeader.extend({ // code }); 目前,我的成品应用程序是用Grunt构build的,它使用一堆脚本标记创build一个.html文件,所有的文件都将被浏览器加载。 我想使用Browserify捆绑我的JS到一个单一的文件,所以现在我有: BaseHeader.js: var Backbone = require("backbone"); var BaseHeader = Backbone.View.extend({ // code }); module.exports = BaseHeader; Header.js: var Backbone = require("backbone"); var BaseHeader = require("/path/to/BaseHeader.js"); var Header = BaseHeader.extend({ // code }); module.exports = […]

browserify转换选项正在消失

我正在进行浏览器转换,我正在传递选项。 //excerpt from package.json of my application that is using my transform and extension "browserify": { "transform": [ ["mytransform", {"extensions": ["my-extension"] } ] ] } 转换正在工作,在第一个文件上调用,然后在该文件所依赖的文件上调用。 我遇到的问题是我失去了select。 在我的变化中,我有 module.exports = function (file, options) { console.log('processing? ', file, options); options = options || {}; options.extensions = options.extensions || []; var extensions = options.extensions.map(function(extensionId){ return require(extensionId)(); }), […]

对JavaScript文件的更改不会立即生效。 gulp browserify任务可能存在问题

当对JavaScript文件进行更改时,在更改生效之前,经常需要长达10秒的不断刷新页面。 我知道Chromecaching了很多,我已经使用了一些技术来解决这个问题: 我已经设置caching控制头'no-cache,no-store',添加一个基于当前时间的查询string到每一个JavaScript文件(我已经证实,这实际上每次刷新时都会改变),我有启用开发工具中的“禁用caching”选项。 但是,JavaScript文件仍然不能立即加载… 编辑:经过一些更多的testing后,我发现我的node.js应用程序中的gulp browserify任务(构build客户端JavaScript包)在gulp重新启动后5-10秒之前不会更新构build。 然而,这是奇怪的,因为吞吐量输出“3.24毫秒后完成”browserify“。 这就解释了为什么JavaScript文件不能在浏览器中刷新,但我无法弄清楚为什么不能立即刷新。 有没有人经历过这个?

克服节点和浏览器pathparsing的差异

我正在编写一个需要包含在后端和前端的应用程序模块。 在我的代码中的某个时刻,我需要一些svg文件(为此我使用了一个browserify模块,但这与问题无关)。 例如,我在我的./src/js/components/tools/svg.js有以下代码: // … var BACKEND = /* code to detect if this is running on browser or on node */; var svg; if ( BACKEND ) { svg = require("./../../../icon/" + this.props.icon + ".svg"); } else { svg = require("./src/icon/" + this.props.icon + ".svg"); } // …. 我使用browserify的require选项来要求捆绑所有的svg文件: browserify({ paths: ['./src/icon'], }) .transform(/* […]

无法使用美元符号创build独立的browserify模块

尝试浏览以下模块: module.exports = function () { return 'test'; }; 使用–standalone选项和一个包含$字符的独立模块 ./node_modules/.bin/browserify src.js –s '$money' > foo.js 结果在全球出口money而不是$money : f.money=e() $是一个有效的variables/属性名称,所以我怎样才能得到browserify导出它呢? 这似乎不是由于壳逃脱,但是,浏览/ esprima正在做的事情。

理解需要()与module.exports与JavaScript和browserify

我是一名c ++程序员,我目前正在用JavaScript来抛弃深层次,并要求游得非常快。 我正在使用browserify,所以我可以使用node.js用来访问其他文件中的代码的require函数。 现在我所做的一切似乎工作正常,我只是不确定我是否正确地做了。 //a.js module.exports = function(){ alert("hello world"); } //b.js var myClass = new MyClass(); module.exports = myClass; //c.js var a = require("./a.js"); a(); var b = require(./b.js"); b.prototype.test = 555; //d.js function () { var a = require("./a.js"); a(); var b = require(./b.js"); assert(b.test === 555); } function () { // duplicated […]

为什么我得到这个node.js构build错误?

我正在尝试使用node_modules/.bin/ (来自node_modules/.bin/的本地二进制文件)来构build我的项目。 这是完整的命令 ./node_modules/.bin/browserify . | uglifyjs -cm >js/bundle.min.js 我的目录是/var/www/react-shopping 我不明白这个错误, Error: Cannot find module '/var/www/react-shopping' 完成错误在这里, Error: Cannot find module '/var/www/react-shopping' from '/var/www/react-shopping' at /var/www/react-shopping/node_modules/browserify/node_modules/browser-resolve/node_modules/resolve/lib/async.js:55:21 at load (/var/www/react-shopping/node_modules/browserify/node_modules/browser-resolve/node_modules/resolve/lib/async.js:69:43) at onex (/var/www/react-shopping/node_modules/browserify/node_modules/browser-resolve/node_modules/resolve/lib/async.js:92:31) at /var/www/react-shopping/node_modules/browserify/node_modules/browser-resolve/node_modules/resolve/lib/async.js:22:47 at FSReqWrap.oncomplete (fs.js:95:15)

警告:找不到任务“browserfy”

我想使用browserfy将es6文件转换为es5。 但每次执行监视任务时,都会出现以下错误: 警告:找不到任务“browserfy”。 使用–force继续。 我使用下面的gruntfile(简化)自动化任务: grunt.initConfig({ browserfy: { dist: { options: { transform: [ ["babelify", { loose: "all" }] ] }, files: { "dist/module.js": ["lib/main.js"] } } }, watch: { lib_test: { files: '<%= jshint.lib_test.src %>', tasks: ['jshint:lib_test', 'browserfy'/*, 'qunit'*/] } }}); grunt.loadNpmTasks("grunt-browserify"); grunt.loadNpmTasks('grunt-contrib-watch'); 我也使用了这个命令 npm安装grunt-browserify –save-dev