<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[刘新修]]></title> 
<link>http://pic1.liuxinxiu.com:80/index.php</link> 
<description><![CDATA[刘新修的个人博客 (Liuxinxiu'S Blog)]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[刘新修]]></copyright>
<item>
<link>http://pic1.liuxinxiu.com:80/requireJS_demo/</link>
<title><![CDATA[requireJS在Node平台安装、创建build实例、JS模块化加载、打包]]></title> 
<author>刘新修 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[NodeJs平台]]></category>
<pubDate>Sat, 28 May 2016 14:41:43 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/requireJS_demo/</guid> 
<description>
<![CDATA[ 
	<p><strong> requireJS在Node平台安装、创建build实例、JS模块化加载、打包</strong></p><p>requireJS在Node平台上安装（<span style="color: rgb(0, 0, 255);"><strong><a href="http://liuxinxiu.com/wmnp" target="_blank">推荐使用NodeJs绿色版环境套件</a></strong></span>）：</p><div class="codeText"><div class="codeHead">C++代码</div><ol start="1" class="dp-cpp"><li class="alt"><span style="color: rgb(255, 0, 0);">npm install -g requirejs </span><span><span> </span></span></li><li><span>D:&#92;wmnp3&#92;wwwroot&#92;nodeJs&#92;MVC&#92;helloWorld&gt;npm install -g requirejs&nbsp;&nbsp;</span></li><li class="alt"><span style="color: rgb(0, 0, 0);">npm http GET https:<span class="comment">//registry.npmjs.org/requirejs</span>&nbsp;&nbsp;</span></li><li><span style="color: rgb(0, 0, 0);">npm http 200 https:<span class="comment">//registry.npmjs.org/requirejs</span>&nbsp;&nbsp;</span></li><li class="alt"><span style="color: rgb(0, 0, 0);">npm http GET https:<span class="comment">//registry.npmjs.org/requirejs/-/requirejs-2.2.0.tgz</span>&nbsp;&nbsp;</span></li><li><span style="color: rgb(0, 0, 0);">npm http 200 https:<span class="comment">//registry.npmjs.org/requirejs/-/requirejs-2.2.0.tgz</span>&nbsp;&nbsp;</span></li><li class="alt"><span>D:&#92;wmnp3&#92;nodeJs&#92;r.js -&gt; D:&#92;wmnp3&#92;nodeJs&#92;node_modules&#92;requirejs&#92;bin&#92;r.js&nbsp;&nbsp;</span></li><li><span>D:&#92;wmnp3&#92;nodeJs&#92;r_js -&gt; D:&#92;wmnp3&#92;nodeJs&#92;node_modules&#92;requirejs&#92;bin&#92;r.js&nbsp;&nbsp;</span></li><li class="alt"><span>requirejs@2.2.0 D:&#92;wmnp3&#92;nodeJs&#92;node_modules&#92;requirejs&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>D:&#92;wmnp3&#92;wwwroot&#92;nodeJs&#92;MVC&#92;helloWorld&gt;&nbsp;&nbsp;</span></li></ol></div><p>&nbsp;</p><p>创建build.js （对应wmnp环境套件：D:&#92;wmnp3&#92;nodeJs&#92;build&#92;test.build.js）</p><div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span>(&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;appDir:<span class="string">'../../wwwroot/nodeJs/MVC/helloWorld/public/js'</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;baseUrl:<span class="string">'test'</span><span>,&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;dir:<span class="string">'../../wwwroot/nodeJs/MVC/helloWorld/public/js/test-built'</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;paths:&#123;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jquery:<span class="string">'empty:'</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;,&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;modules:[&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name:<span class="string">'b'</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;,&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name:<span class="string">'c'</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;,&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;]&nbsp;&nbsp;</span></li><li><span>&#125;)&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span><span class="comment">/**********************************************</span> </span></li><li class="alt"><span><span class="comment">&quot;appDir&quot;: &quot;./&quot;,&nbsp;&nbsp;&nbsp;&nbsp; /**** 应用根路径 ****</span> </span></li><li><span><span class="comment">&quot;dir&quot;: &quot;dist&quot;,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/**** 打包的文件生成到哪个目录</span> </span></li><li class="alt"><span><span class="comment">&quot;optimize&quot;: &quot;none&quot;, /**** 是否压缩 ****</span> </span></li><li><span><span class="comment">***********************************************/</span><span>&nbsp;&nbsp;</span></span></li></ol></div><p>实例1（对应wmnp环境套件：http://127.0.0.1:3000/test_page）::</p><div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span class="comment">/***************************************************************</span> </span></li><li><span><span class="comment">require.config(); 等同于 requirejs.config();</span> </span></li><li class="alt"><span><span class="comment">***************************************************************/</span><span>&nbsp;&nbsp;</span></span></li><li><span>requirejs.config(&#123;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;baseUrl:<span class="string">'/js/test'</span><span>,&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;paths:&#123;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jquery:<span class="string">'../lib/jquery.min'</span><span>,&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hello:<span class="string">'hello'</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;afile:<span class="string">'a'</span><span>,&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bfile:<span class="string">'b'</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cfile:<span class="string">'c'</span><span>,&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;,&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;shim:&#123;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;only:&#123;exports:<span class="string">'only'</span><span>&#125;,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/***** shim中hello源对应paths模块hello.JS *****/</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hello:&#123;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/***** 用exports导入当函数，必须换成 init 函数导入多个函数的文件 *****/</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;init:<span class="keyword">function</span><span>()&#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uinfos:<span class="string">&quot;liuxinxiu&quot;</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hello1:hello1,&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hello2:hello2&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li class="alt"><span>&#125;);&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span><span class="comment">/******************************************************************************************************</span> </span></li><li><span><span class="comment">require和define 都可以加载依赖元素(都是用于加载依赖）</span> </span></li><li class="alt"><span> </span></li><li><span><span class="comment">1. require 要用于加载类相关JS文件，build后不参与代码合并，所用到的资源只进行压缩，http自动请求其他文件.</span> </span></li><li class="alt"><span><span class="comment">2. define&nbsp;&nbsp;真正意义上的模块化处理，load本文件及外文件内的代码片段，build后参与代码合并，http自动请求其他文件.</span> </span></li><li><span> </span></li><li class="alt"><span><span class="comment">******************************************************************************************************/</span><span>&nbsp;&nbsp;</span></span></li><li><span><span class="comment">/***********************************************************</span> </span></li><li class="alt"><span><span class="comment">require(['afile','bfile','cfile'],function(a,b,c)&#123;</span> </span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;var x1=require(&quot;afile&quot;);</span> </span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;var x2=require(&quot;bfile&quot;);</span> </span></li><li><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;var x3=require(&quot;cfile&quot;);</span> </span></li><li class="alt"><span> </span></li><li><span><span class="comment">&#125;);</span> </span></li><li class="alt"><span><span class="comment">***************************************************************/</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span><span class="comment">/**************************************************************</span> </span></li><li><span><span class="comment">define(['bfile'],function(b)&#123;</span> </span></li><li class="alt"><span><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;console.log('run c.js :'+b.color+','+b.width);</span> </span></li><li><span><span class="comment">&#125;);</span> </span></li><li class="alt"><span><span class="comment">***************************************************************/</span><span>&nbsp;&nbsp;</span></span></li><li><span>requirejs([<span class="string">&quot;http://code.liuxinxiu.com/php/Interface/getUserInfo.php?Jsoncallback=define&quot;</span><span>],&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">function</span><span>(data)&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//The data object will be the API response for the</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//JSONP data call.</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(data);&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li><span>);&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>require([<span class="string">'jquery'</span><span>],</span><span class="keyword">function</span><span>()&#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/***** 调用后写入你的jq代码 *****/</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;$(<span class="string">&quot;body&quot;</span><span>).attr(</span><span class="string">&quot;yy&quot;</span><span>,</span><span class="string">&quot;111&quot;</span><span>);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&#125;);&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span><span class="comment">/******************************************************************************</span> </span></li><li><span> </span></li><li class="alt"><span><span class="comment">require.config(); </span> </span></li><li><span><span class="comment">1. shim中exports定义好的函数可以用&nbsp;&nbsp;&nbsp;&nbsp;（requirejs+define）引入并使用</span> </span></li><li class="alt"><span><span class="comment">2. shim中init定义好的函数则必须以用 （define）引入并使用</span> </span></li><li><span> </span></li><li class="alt"><span><span class="comment">*************************************************************************/</span><span>&nbsp;&nbsp;</span></span></li><li><span>requirejs([<span class="string">'only'</span><span>],</span><span class="keyword">function</span><span>(only)&#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;only();&nbsp;&nbsp;</span></li><li><span>&#125;);&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;</span></li><li><span>define([<span class="string">'hello'</span><span>],</span><span class="keyword">function</span><span>(data)&#123;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">/***** 定义值直接取，函数直接调用 *****/</span><span>&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;console.log(data.uinfos);&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;data.hello2();&nbsp;&nbsp;</span></li><li><span>&#125;);&nbsp;&nbsp;</span></li></ol></div><p>实例2（对应wmnp环境套件：http://127.0.0.1:3000/test_load）:：</p><div class="codeText"><div class="codeHead">JavaScript代码</div><ol start="1" class="dp-c"><li class="alt"><span><span>requirejs.config(&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;baseUrl:<span class="string">'/js/test'</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;paths:&#123;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;afile&quot;</span><span>:</span><span class="string">'a?y=1'</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;bfile&quot;</span><span>:</span><span class="string">'b'</span><span>,&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;cfile&quot;</span><span>:</span><span class="string">'c'</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;core1&quot;</span><span>:</span><span class="string">'cores/core1'</span><span>,&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;core2&quot;</span><span>:</span><span class="string">'cores/core2'</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;util1&quot;</span><span>:</span><span class="string">'utils/util1'</span><span>,&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;util2&quot;</span><span>:</span><span class="string">'utils/util2'</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;service1&quot;</span><span>:</span><span class="string">'services/service1'</span><span>,&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;service2&quot;</span><span>:</span><span class="string">'services/service2'</span><span>,&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&#125;&nbsp;&nbsp;</span></li><li><span>&#125;);&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp; </span></li><li><span>&nbsp;&nbsp;</span></li><li class="alt"><span><span class="comment">/***************************************</span> </span></li><li><span><span class="comment">****************************************/</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>require([<span class="string">'c'</span><span>],</span><span class="keyword">function</span><span>()&#123;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp; <span class="comment">//a();</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span>&#125;)&nbsp;&nbsp;</span></li></ol></div><p>执行（压缩/打包）：D:&#92;wmnp3&#92;nodeJs&gt;<span style="color: rgb(255, 0, 0);">node node_modules&#92;requirejs&#92;bin&#92;r.js -o build&#92;test.build.js</span></p><p><img src="http://at.liuxinxiu.com/2016/05/image/qq.GIF" width="700" height="615" alt="" /></p><br/>Tags - <a href="http://pic1.liuxinxiu.com:80/tags/requirejs/" rel="tag">requirejs</a>
]]>
</description>
</item><item>
<link>http://pic1.liuxinxiu.com:80/requireJS_demo/#blogcomment</link>
<title><![CDATA[[评论] requireJS在Node平台安装、创建build实例、JS模块化加载、打包]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://pic1.liuxinxiu.com:80/requireJS_demo/#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>