@1002522146
2017-07-04 01:08
字数 1252
阅读 735
js模块化
定义package.json文件
{
"name" : "es6-babel-browserify",
"version" : "1.0.0"
}
定义 .babelrc 文件
rc--->run control
{"presets": ["es2015"]}
编码
js/src/module1.js 分别暴露
export function foo() {
console.log('module1 foo()');
}
export function bar() {
console.log('module1 bar()');
}
js/src/module2.js 统一暴露
let data = 'module2 data'
function fun1() {
console.log('module2 fun1() ' + data);
}
function fun2() {
console.log('module2 fun2() ' + data);
}
export {fun1, fun2}
js/src/module3.js
export default {
name: 'Tom',
setName: function (name) {
this.name = name
}
}
js/src/main.js
import {foo, bar} from './module1'
import {DATA_ARR} from './module1'
import {fun1, fun2} from './module2'
import person from './module3'
import $ from 'jquery'
$('body').css('background', 'red')
foo()
bar()
console.log(DATA_ARR);
fun1()
fun2()
person.setName('JACK')
console.log(person.name);
页面中引入测试
<script type="text/javascript" src="js/lib/bundle.js"></script>
引入第三方模块(jQuery)
1). 下载jQuery模块:
import $ from 'jquery'
$('body').css('background', 'red')