上QQ阅读APP看书,第一时间看更新
2.5.3 模块的使用
模块接口的暴露和引入十分简单:
□通过exports暴露接口。
□通过require(path)引入依赖,path是需要引入的模块文件的相对路径。
示例代码如下:
var privateData = 'weixin'; function run( who ) { console.log( who + ' run' ); } function walk( who ) { console.log( who + ' walk' ); } module.exports.run = run; exports.walk = walk; /** 也可以这样 module.exports = { run : run, walk : walk }; */ var otherMod = require( 'mod.js' ); /* */ Page( { onShow : function() { /* 这里会打印出somebody run */ otherMod.run( 'somebody' ); /* 这里会打印出somebody walk */ otherMod.walk( 'somebody' ); } } );
需要注意的是:
□exports是module.exports的一个引用,因此在模块里面随意更改exports的指向会造成未知的错误。所以我们更推荐开发者采用module.exports来暴露模块接口,除非你已经很清晰地知道这两者的关系。
□小程序目前不支持直接引入node_modules,开发者需要使用node_modules时建议拷贝出相关代码到小程序目录中。
通过模块化我们能实现代码真正的隔离,可以多人并行开发,降低大型项目管理难度,这对前端工程化具有很大促进作用。