module,exports,require的模块化应用
首先看官方例程
// 下面是写在逻辑文件common.js 内的
function sayHello(name) {console.log(`Hello ${name} !`)
}
function sayGoodbye(name) {console.log(`Goodbye ${name} !`)
}module.exports.sayHello = sayHello
exports.sayGoodbye = sayGoodbye
下面是要使用到common.js暴露出来的接口的js文件
//下面是在与common同目录下的index.js文件内的
const common = require('common.js') //该句话放在了Page构造函数之前。
Page({helloMINA() {common.sayHello('MINA')},goodbyeMINA() {common.sayGoodbye('MINA')}
})
在实际应用中,出现了一个问题,就是控制台console输出的内容不是,Hello MINA这种带传入参数的字符串,而是Hello name!原样字符串,查找发现{name} !原样字符串,查找发现name!原样字符串,查找发现{}是ES6引入的新特性,用来避免字符串拼接的。它很重要一点就是,包裹Hello ${name} !最外面的字符不是单引号,而是ESC按键,下面的那个点符号。
另外关于module.exports与exports的区别,参考这个链接的介绍
最重要一点就是,当module.exports指向新对象时,exports断开了与module.exports的引用,module.exports指向了新的内存块,而exports还是指向了原来的内存块。因此,在不是很清楚两者关系时,请采用module.exports暴露。
关于ES6新特性${}的应用参考这个链接
module,exports,require的模块化应用相关推荐
- export / import与module.exports/require的关系与用法
在项目开发中一些命令的使用是必不可少的,模块化开发中对于模块的导入或导出都会用到. 一.使用规范 require: node 和 es6 都支持的引入 module.exports / exports ...
- 两种模块化语法(module.exports,exports,require export,import)
目录 模块 导出 导入 ES6Module 模块 导出 导入 CommonJs与ES6Module的区别 对模块依赖的处理区别 导入模块值的区别 循环依赖的区别 结尾 模块 CommonJs规范中规定 ...
- 微信小程序module.exports 模块化
模块化 可以将一些公共的代码抽离成为一个单独的 js 文件,作为一个模块.模块只有通过 module.exports 或者 exports 才能对外暴露接口. 需要注意的是: exports 是 mo ...
- 模块化(module.exports、包、)
1.编程领域中的模块化 编程领域中的模块化,就是遵守固定的规则,把一个大文件拆成独立并互相依赖的多个小模块. 把代码进行模块化拆分的好处: ① 提高了代码的复用性 ② 提高了代码的可维护性 ③ 可以实 ...
- module.exports,exports import require export
1.ES6使用export和import来导出.导入模块 2.ES6模块的设计思想是尽量的静态化,是编译是就能确定模块的依赖关系,以及输入和输出的变量 3.node的编程思想是模块化,所以每个文件就是 ...
- 微信小程序 require module exports 的使用
require any require(string path) 引入模块.返回模块通过 module.exports 或 exports 暴露的接口. 项目中使用 例如 const { post } ...
- require 动态加载_require,exports,module.exports和import,export,export default
我们前端在开发过程中经常会遇到导入导出功能, 在导入时,有时候是require,有时候是import 在导出时,有时候是exports,module.exports,有时候是export,export ...
- 微信小程序笔记六模块化 —— module.exports
微信小程序中所有 js 文件作用域皆为独立的,每一个 js 文件即为一个模块.模块与模块之间的引用通过 module.exports 或 exports 对外暴露接口. 注意: exports 是 m ...
- 导出与导入(require,import,module.exports,exports,export,export default)
一.不同点 1.加载时间不同 require: 运行时加载 import: 编译时加载(效率高) [先写调用,后写import导入不报错] [加载时机的原因,让import会提升到整个文件的头部] 2 ...
最新文章
- pyspark常用API
- 浅谈函数调用的汇编实现细节(用栈来传递参数)
- 图解用RadASM开发一个同时编辑多个文档的编辑器
- net.sf.json在处理json对象转换为普通java实体对象时的问题和解决方案
- CentOS查看CPU、内存、版本等系统信息
- java fst 入门 例子,Java FST.save方法代码示例
- java职称考试试题及答案_2017年9月计算机考试Java部分考题预测
- 鸟哥的Linux私房菜第零章
- HDU 4649 Professor Tian(概率DP)题解
- 学习3ds max插件开发过程中的一些小结
- text函数--Matplotlib
- R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、编写自定义三线表结构(将因子变量细粒度化重新构建三线图)、自定义修改描述性统计参数输出自定义统计量
- 网口压线顺序_网线水晶头接法
- Excel查找、替换与定位
- 专访百度AI交互设计院院长关岱松:感知类学科的尽头都是心理学 | 甲子光年
- 微信小程序:小程序开发者注册步骤
- 在SWD模式下用SEGGER J-Flash 下载STM32.hex文件
- 负数在计算机中是如何表示的
- MFormats SDK智能视频 API,视频软件开发框架
- Kotlin中also与apply的区别
热门文章
- Rails 的自动化部署工具Cap(Capistrano)和mina
- 一个竖杠在python中代表什么_详解js运算符单竖杠“|”与“||”的用法和作用介绍...
- PPT2010创建立体感球体、圆柱、圆锥
- Meteor安装方法
- shell脚本打印三角形
- linux readdir
- 安利给你几个使用苹果手机的小技巧
- 乘船预约小程序开发制作
- web前端需要学什么?附学习路线!
- realvnc linux客户端,Linux_设定RealVNC服务器