如何在节点模块和浏览器环境之间共享类开发
How to share a class development between node module and browser environment
我为node.js:开发了这段代码
user.js:
var Underscore = require( '/usr/local/lib/node_modules/underscore' ),
Backbone = require( '/usr/local/lib/node_modules/backbone' );
var User = Backbone.Model.extend( {
// Handle calls to Mysql
});
module.exports = User;
我为浏览器开发了以下代码:
user.js:
define( function( require ) {
var Backbone = require( "backbone" );
var User = Backbone.Model.extend( {
} );
return lUser;
} );
是否可以为两个环境共享一个用户实现文件?
是的,你可以这样做。这是一个有点棘手的问题,有几种不同的尝试来解决它
- 以node.js风格的CommonJS模块的形式专门编写所有内容
- 这意味着使用
require
和module.exports
,但不使用define
,不使用包装函数等
- 这意味着使用
- 使用browserfy打包一束代码并将其发送到浏览器
- 只要npm中的包可用(主干、下划线等),就使用它们,否则就使用browserfy对非npm库的支持来根据需要填充内容(angularjs等)
使用可用的在线教程。掌握窍门需要一些努力,但一旦你完成了学习曲线,你就能够非常有效地共享和重用代码。
请注意上面的代码片段:当模块在npm中可用时,请按名称要求模块,或者在需要时按相对路径要求模块,但千万不要像上面那样使用绝对路径。
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 全局变量和全局对象的属性之间有什么区别吗
- java.net和javascript之间正则表达式的差异
- JavaScript中的函数和对象之间没有区别吗?
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- Jquery在函数之间传递表行
- 根据某些条件在视图之间切换
- 在控制器和数据对象之间同步数据
- 难以访问的JS环境中的语法错误
- d3中堆栈函数和嵌套函数之间的差异
- JQuery:在页面之间滑动
- 如何使用JavaScript查找1和N之间的所有数字的总和
- 操作放置在画布上的元素之间的连接
- 在下划线中使用_(obj).map(callback)和_.map(obj,callback)之间的区别
- jquery在表单之间切换
- Nodejs API控制器,用于在API之间切换
- 如何在aspx页面之间传递参数
- 不同进程之间共享Node.js环境
- 版本控制:如何控制不同环境之间的CSS和js压缩/缩小版本
- 如何在节点模块和浏览器环境之间共享类开发