本文转自CSDN
exports 可以共享方法、变量、构造、类。
exports 的本质是一个数组,访问域是共有的。
共享变量
exportDemo.js(被引用的)
1 2 3 4 5 6 7 8 9
| console.log(exports);
var aa=123; exports.aa=aa;
console.log(exports);
|
exportsUse.js(引用方)
1 2 3 4 5
| var exportsDemo=require("./exportsDemo.js");
console.log(exportsDemo.aa);
|
共享方法
exportDemo.js(被引用的)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| console.log(exports);
function aa(num1,num2){ console.log("被共享的方法哦~"); return (num1+num2); }
exports.aa=aa; console.log(exports);
exports.bb=aa(); console.log(exports);
|
exportsUse.js(引用方)
1 2 3 4 5 6
| var exportsDemo=require("./exportsDemo.js");
console.log(exportsDemo.aa(2,5));
|
共享构造
exportDemo.js(被引用的)
1 2 3 4 5 6 7 8 9 10
| function Person(name,age,sex){ this.name=name; this.age=age; this.sex=sex; }
module.exports=Person; console.log(exports);
|
exportsUse.js(引用方)
1 2 3 4 5 6
| var exportsDemo=require("./exportsDemo.js"); var per=new exportsDemo("吴师傅",18,"男"); console.log(per);
|
共享类
exportDemo.js(被引用的)
1 2 3 4 5 6 7 8 9 10
| var React=require("react"); var ReactDom=require("react-dom"); class Header extends React.Component{ render(){ return (<div>这是头部</div>) } } module.exports=Header;
|
exportsUse.js(引用方)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| var React=require("react"); var ReactDom=require("react-dom");
var Header=require("./Header.jsx"); var Footer=require("./footer.jsx");
class Main extends React.Component{ constructor(){ super(); this.state={timer:0} } tick(){ console.log(this); this.setState({ timer:(this.state.timer+1) }) } trach(){ console.log("运行点击方法了") } componentDidMount(){ setInterval(()=>{this.tick()},1000) } render(){ return ( <div> <Header/> <p>{this.state.timer} <span><button onClick={this.trach.bind(this)}>点击事件</button></span> </p> </div> ) } } ReactDom.render(<Main/>,document.getElementById("box"));
|