1.0.16 • Published 2 years ago

s94-require v1.0.16

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

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模块
1.0.16

2 years ago

1.0.10

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.13

2 years ago

1.0.12

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.2

2 years ago

1.0.3

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago