fmd.js
Version:
another module writing system
89 lines (87 loc) • 4.4 kB
HTML
<html>
<head>
<meta charset="utf-8"/>
<title>Advanced Events - fmd.js</title>
<link rel="stylesheet" href="/assets/tpl.css"/>
</head>
<body>
<header>
<h1><a href="/"><img src="/assets/fmd.js.png"/></a></h1>
<nav>
<ul>
<li><a href="/test/runner.html">Unit Testing</a></li>
</ul>
<ul>
<li><a href="https://github.com/fmdjs/fmd.js">GitHub Repository</a></li>
<li><a href="https://github.com/fmdjs/fmd.js/issues/new">Submit Issues</a></li>
</ul>
</nav>
<p>Copyright (C) 2013-2017 fmdjs.org<br/>Licensed under the MIT.</p>
</header>
<aside>
<ul>
<li><a href="/docs/quick-start.html">Qucik Start</a></li>
</ul>
<section>
<h1>Basic API</h1>
<ul>
<li><a href="/docs/api/define.html">Define a module</a></li>
<li><a href="/docs/api/require.html">Built-in module 'require'</a></li>
<li><a href="/docs/api/exports.html">Built-in module 'exports'</a></li>
<li><a href="/docs/api/module.html">Built-in module 'module'</a></li>
<li><a href="/docs/api/@fmd.html">Built-in module '@fmd'</a></li>
<li><a href="/docs/api/config.html">Configuration Options</a></li>
<!--
<li><a herf="/docs/api/id-conversion.html">id2url</a></li>
-->
<li><a href="/docs/api/events-basic.html">Basic Events</a></li>
<li><a href="/docs/api/load-css.html">Load CSS</a></li>
<li><a href="/docs/api/auxiliary.html">Auxiliary</a></li>
</ul>
</section>
<section>
<h1>Advanced API</h1>
<ul>
<li><a href="/docs/plugins.html">Plugins</a></li>
<li><a href="/docs/api/plugin-non.html">Plugin 'non'</a></li>
<li><a href="/docs/api/plugin-combo.html">Plugin 'combo'</a></li>
<li><a href="/docs/api/events-advanced.html">Advanced Events</a></li>
</ul>
</section>
<section>
<h1>Node.js</h1>
<ul>
<li><a href="/docs/in-node.html">Use in Node.js</a></li>
</ul>
</section>
</aside>
<article>
<h1 id="advanced-events">Advanced Events</h1>
<h2 id="event-saved-">event 'saved'</h2>
<pre class="sh_javascript">fmd.on( 'saved', function( mod ){
//todo sth
} );</pre>
<p>此事件发生在模块刚保存完时,参数<code>mod</code>即是刚保存的mod对象。若是匿名模块,此时还未执行,将要执行</p>
<h2 id="event-makerequire-">event 'makeRequire'</h2>
<pre class="sh_javascript">fmd.on( 'makeRequire', function( require ){
//todo sth
} );</pre>
<p>此事件发生在某模块依赖内建模块require而生成关键模块require时,参数<code>require</code>就是内建模块require对象</p>
<h2 id="event-request-">event 'request'</h2>
<pre class="sh_javascript">fmd.on( 'request', function( asset, callback ){
//todo sth
} );</pre>
<p>此事件发生在加载器将要对参数中的<code>asset</code>进行加载。此时,asset未加载过,也未在加载中。参数中的<code>callback</code>即是加载完此asset后执行的回调</p>
<p>若在此事件中给<code>asset</code>增加一个属性<code>requested</code>,且值为<code>true</code>,那么加载器将停止默认的加载。即可在此事件中劫持对asset的加载</p>
<h2 id="event-createnode-">event 'createNode'</h2>
<pre class="sh_javascript">fmd.on( 'createNode', function( node, asset ){
//todo sth
} );</pre>
<p>此事件发生在因加载<code>asset</code>而创建节点后,此时,节点已创建,但未<code>appendChild</code>到页面上</p>
<p>参数<code>node</code>是新创建的节点,参数<code>asset</code>是节点所对应的asset</p>
</article>
<script src="/dist/fmd.js"></script>
<script src="/assets/sh.js"></script>
</body>
</html>