s94-require

1.0.16 • Public • Published

s94-require

可以在浏览器中直接使用CommonJS的模块,书写语法和nodejs一样,模块实时绑定、循环引用不会造成内存泄漏

Install

$ npm install s94-require

使用

<script src="node_modules/s94-require/index.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
    //引用
    var md5 = require('md5'); //项目中没用md5模块的自行npm
    console.log(md5('123'));
</script>

注意:由于require方法在查找模块的时候,是在当前项目对应模块目录查找,而当前项目的模块目录,是根据index.js的路径来推算的,所以不要改变index.js的的存放路径,否则会报错 模块不存在

循环引用

var a = require('./a');
console.log(a)

a.js

console.log('导入b之前')
const b = require('./b'); // 注意,此时a.js代码就停在这里,等待b.js执行完毕,再往下执行。
console.log(b)
console.log('导入b之后')

module.exports = '我是a模块'

b.js

console.log('导入a之前')
const a = require('./a');  // 发生了"循环引用",系统会去a.js模块对应对象的exports属性取值
console.log(a) // 因为a.js还没有执行完,只执行第一行和第二代码,所以此时a的值是一个空对象
console.log('导入a之后')

module.exports = '我是b模块'

打印

导入b之前
导入a之前
{}
导入a之后
我是b模块
导入b之后
我是a模块

Package Sidebar

Install

npm i s94-require

Weekly Downloads

4

Version

1.0.16

License

ISC

Unpacked Size

9.88 kB

Total Files

3

Last publish

Collaborators

  • s94