npm link 命令解析

本文介绍如何使用npm link命令方便地管理多个项目间的模块依赖。通过此命令,开发者可以轻松实现模块间的同步更新,尤其适用于开发阶段需要在多个项目中共享同一个模块的情况。

对开发者而言,这算是最有价值的命令。假设我们开发了一个模块叫 test ,然后我们在 test-example 里引用这个模块 ,每次 test 模块的变动我们都需要反映到 test-example 模块里。不要担心,有了 npm link 命令一切变的非常容易。

首先我们需要把 test 链接到全局模式下:


cd ~/work/node/test # 进入test模块目录
npm link # 创建链接到$PREFIX/lib/node_modules

那么 test 的模块将被链接到 $PREFIX/lib/node_modules 下,就像我的机器上 $PREFIX 指到 /usr/local ,那么 /usr/local/lib/node_modules/test 将会链接到 ~/work/node/test 下。执行脚本 bin/test.js 被链接到 /usr/local/bin/test 上。

接下来我们需要把 test 引用到 test-example 项目中来:


cd ~/work/node/test-example # 进入test-example模块目录
npm link test # 把全局模式的模块链接到本地

npm link test 命令会去 $PREFIX/lib/node_modules 目录下查找名叫 test 的模块,找到这个模块后把 $PREFIX/lib/node_modules/test 的目录链接到 ~/work/node/test-example/node_modules/test 这个目录上来。

现在任何 test 模块上的改动都会直接映射到 test-example 上来。再比如假设我们开发很多应用,每个应用都用到 Coffee-script :


npm install coffee-script -g # 全局模式下安装coffee-script
cd ~/work/node/test # 进入开发目录
npm link coffee-script # 把全局模式的coffee-script模块链接到本地的node_modules下
cd ../test-example # 进入另外的一个开发目录
npm link coffee-script # 把全局模式的coffee-script模块链接到本地
npm update coffee-script -g # 更新全局模式的coffee-script,所有link过去的项目同时更新了。

就像你看到,npm link 对于开发时一个模块被多个模块引用时非常有用。windows 的用户会想,我这儿没有 UNIX 下的 link 工具怎么办?别担心只要你的 Node.js 支持 fs.symlink 就可用到这个特性。

原理   linux的系统下会自动执行ln -s 命令来创建一个软连接指向你的全局包路径

<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>个人简历</title> </head> <style> body { background-color: #ffffff; font-family: "宋体"; font-size: 16px; } h1 { font-family: "黑体"; font-size: 30px; text-align: center; } .table-out { border-collapse: collapse; width: 960px; } .table-out td { border: 1px solid black; padding: 10px; } /* 列样式 */ .col-one { width: 150px; background-color: #A0A0A0; font-family: "黑体"; text-align: center; } .col-two { width: 170px; text-align: center; } .col-three { width: 150px; background-color: #A0A0A0; font-family: "黑体"; text-align: center; } .col-four { width: 170px; text-align: center; } .col-five{ width: 150px; text-align: center; } .col-six{ text-align: center; } .evaluate { font-family: Tahoma, "黑体"; } .bg { background-color: #A0A0A0; font-family: "黑体"; } .table-in{ width: 700px; } .table-in td{ border: none; } .table-in td .one{ text-align: left; } .table-in td .two{ text-align: left; } .table-in td .three{ text-align: center; } </style> <body> <form action=""> <h1>个人简历</h1> <table class="table-out" align="center"> <!--第 1 行开始--> <tr> <td class="col-one"> </td> <td class="col-two"> </td> <td class="col-three"> </td> <td class="col-four"> </td> <td colspan="2" rowspan="5"> </td> </tr> <!--第 1 行结束--> <!--第 2 行开始--> <tr> <td class="col-one"> </td> <td class="col-two"> </td> <td class="col-three"> </td> <td class="col-four"> </td> </tr> <!--第 2 行结束--> <!--第 3 行开始--> <tr> <td class="col-one"> </td> <td class="col-two"> </td> <td class="col-three"> </td> <td class="col-four"> </td> </tr> <!--第 3 行结束--> <!--第 4 行开始--> <tr> <td class="col-one"> </td> <td class="col-two"> </td> <td class="col-three"> </td> <td class="col-four"> </td> </tr> <tr> <td class="col-one"> </td> <td class="col-two"> </td> <td class="col-three"> </td> <td class="col-four"> </td> </tr> <tr> <td class="col-one"> </td> <td class="col-two"> </td> <td class="col-three"> </td> <td class="col-four"> </td> <td class="col-five"> </td> <td class="col-six"> </td> </tr> <tr> <td class="col-one"> </td> <td colspan="5"> </td> </tr> <tr> <td class="col-one"> </td> <td colspan="5"> </td> </tr> <tr> <td class="col-one"> </td> <td colspan="5"> </td> </tr> <tr> <td class="col-one"> </td> <td colspan="2"> </td> <td class="col-four bg"> </td> <td colspan="2"> </td> </tr> <tr> <td class="col-one"> </td> <td colspan="2"> </td> <td class="col-four"> </td> <td colspan="2"> </td> </tr> <tr> <td class="col-one"> </td> <td colspan="5"> <table class="table-in"> <tr> <td class="one"> </td> <td class="two"> </td> <td class="three"> </td> </tr> <tr> <td class="one"> </td> <td class="two"> </td> <td class="three"> </td> </tr> <tr> <td class="one"> </td> <td class="two"> </td> <td class="three"> </td> </tr> </table> </td> </tr> <tr> <td class="col-one"> </td> <td colspan="5"> <p class="evaluate"> </p> </td> </tr> <select> <option value="1" selected>汉</option> <option value="2">满</option> <option value="3">蒙</option> <option value="4">回</option> <option value="5">藏</option> </select> <label><input name="hobby" checked="value" disabled="disabled" type="checkbox"/>学习</label> <label><input name="hobby" checked="value" disabled="disabled" type="checkbox"/>网页设计</label> <label><input name="hobby" type="checkbox"/>数据库</label> <label><input name="hobby" type="checkbox"/>苹果开发</label> </table> <table class="table-in"> <tr> <td class="one">2006.1——2006.6</td> <td class="two">xxxx</td> <td class="three">测试人员</td> </tr> <tr> <td class="one">2006.1——2006.6</td> <td class="two">xxxx</td> <td class="three">测试人员</td> </tr> <tr> <td class="one">2006.1——2006.6</td> <td class="two">xxxx</td> <td class="three">测试人员</td> </tr> </table> </form> </body> </html> 进行调整
05-30
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>基于Python的气象数据分析系统</title> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta content="Premium Multipurpose Admin & Dashboard Template" name="description"> <meta content="Themesbrand" name="author"> <link href="../static/css/bootstrap.min.css" id="bootstrap-style" rel="stylesheet" type="text/css"> <link href="../static/css/icons.min.css" rel="stylesheet" type="text/css"> <link href="../static/css/app.min.css" id="app-style" rel="stylesheet" type="text/css"> </head> <body data-sidebar="dark"> <div id="layout-wrapper"> <header id="page-topbar"> <div class="navbar-header"> <div class="d-flex"> </div> <div class="d-flex"> <h1>基于Python的气象数据分析系统</h1> </div> <div class="d-flex"> <div class="dropdown d-inline-block"> <button type="button" class="btn header-item waves-effect" id="page-header-user-dropdown" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <img class="rounded-circle header-profile-user" src="../static/picture/user.jpg" alt="Header Avatar"> </button> <button class="btn header-item waves-effect" onclick="location.href='/user_login'">退出登录</button> </div> </div> </div> </header> <div class="vertical-menu"> <div data-simplebar="" class="h-100" > <div id="sidebar-menu"> <ul class="metismenu list-unstyled" id="side-menu"> <li class="menu-title">数据</li> <li> <a href="/data/page_1" class="waves-effect"> <span>&nbsp&nbsp&nbsp 数据展示</span> </a> </li> <li class="menu-title">图表</li> <li><a href="/echarts1" class="waves-effect"><span>&nbsp&nbsp&nbsp 陕西省平均温度</span></a></li> <li><a href="/echarts2" class="waves-effect"><span>&nbsp&nbsp&nbsp 陕西省平均温差</span></a></li> <li><a href="/echarts3" class="waves-effect"><span>&nbsp&nbsp&nbsp 陕西省各城市极端温度天数</span></a></li> <li><a href="/echarts4" class="waves-effect"><span>&nbsp&nbsp&nbsp 陕西省各城市降水天数</span></a></li> <li><a href="/echarts5" class="waves-effect"><span>&nbsp&nbsp&nbsp 陕西省历年风向分布</span></a></li> <li><a href="/echarts6" class="waves-effect"><span>&nbsp&nbsp&nbsp 陕西省历年天气类型频率</span></a></li> <li><a href="/echarts7" class="waves-effect"><span>&nbsp&nbsp&nbsp 陕西省各城市平均最高温度</span></a></li> <li><a href="/echarts8" class="waves-effect"><span>&nbsp&nbsp&nbsp 陕西省各城市平均最低温度</span></a></li> </ul> </div> </div> </div> <div class="main-content"> <div class="page-content"> <div class="container-fluid"> <div class="row"> <div class="col-6"> <div class="card mini-stat bg-purple"> <div class="card-body mini-stat-img"> <div class="mini-stat-icon"> </div> <div class="text-white"> <h6 class="text-uppercase mb-3 font-size-16 text-white">数据量</h6> <h2 class="mb-4 text-white">47,082</h2> <span class="badge bg-info">数据来源</span> <span class="ms-2">https://www.tianqi.com/ankang/</span> </div> </div> </div> </div> <div class="col-6"> <div class="card mini-stat bg-pink"> <div class="card-body mini-stat-img"> <div class="mini-stat-icon"> </div> <div class="text-white"> <h6 class="text-uppercase mb-3 font-size-16 text-white">技术</h6> <h2 class="mb-4 text-white">pyspark</h2> <span class="badge bg-danger">技术</span> <span class="ms-2">使用pyspark技术对原始数据进行清洗分析</span> </div> </div> </div> </div> </div> <div class="row"> <div class="col-xl-12"> <div class="card"> <div class="card-body"> <h4 class="card-title mb-4">数据展示</h4> <div class="table-responsive"> <table class="table align-middle table-centered table-vertical table-nowrap"> <thead> <tr> <th>省份</th> <th>城市</th> <th>日期</th> <th>日内最高温度</th> <th>日内最低温度</th> <th>天气状况</th> <th>风向风级状况</th> </tr> </thead> <tbody> {%for row in data%} <tr> <td>{{row[0]}}</td> <td>{{row[1]}}</td> <td>{{row[2]}}</td> <td>{{row[3]}}</td> <td>{{row[4]}}</td> <td>{{row[5]}}</td> <td>{{row[6]}}</td> </tr> {% endfor %} </tbody> </table> <nav aria-label="Page navigation example"> <ul class="pagination"> <li class="page-item"> <a class="page-link" href="/data/page_{{i-1}}" aria-label="Previous"> <span aria-hidden="true">«</span> <span class="sr-only">Previous</span> </a> </li> <li class="page-item"><a class="page-link" href="/data/page_1">1</a> </li> <li class="page-item"><a class="page-link" href="#">...</a></li> <li class="page-item"><a class="page-link" href="/data/page_{{a}}">{{a}}</a> </li> <li class="page-item"><a class="page-link" href="/data/page_{{b}}">{{b}}</a> </li> <li class="page-item"><a class="page-link" href="/data/page_{{c}}">{{c}}</a> </li> <li class="page-item"><a class="page-link" href="#">...</a></li> <li class="page-item"><a class="page-link" href="/data/page_4709">4709</a> </li> <li class="page-item"> <a class="page-link" href="/data/page_{{i+1}}" aria-label="Next"> <span aria-hidden="true">»</span> <span class="sr-only">Next</span> </a> </li> </ul> </nav> </div> </div> </div> </div> </div> </div> </div> <footer class="footer"> <div class="container-fluid"> <div class="row"> <div class="layui-footer" style="height: 35px"> © 2025-01 design by <a href="#" target="_blank"><strong>陈煊</strong></a> </div> </div> </div> </footer> </div> </div> <script src="../static/js/jquery.min.js"></script> <script src="../static/js/bootstrap.bundle.min.js"></script> <script src="../static/js/metisMenu.min.js"></script> <script src="../static/js/app.js"></script> </body> </html>
05-30
<!--#Include file="../include/db.inc"--> <html> <head> <title>各区必修课数据查询</title> <style> .t_i{width:1520px; height:auto; float:center; border-right:0px solid #000; border-top:1px solid #000} .t_i_h{width:100%; overflow-x:hidden; background:buttonface;} .t_i_h table{width:1500px;} .t_i_h table td{border-right:1px solid #000; border-bottom:1px solid #000; height:20px; text-align:center} .cc{width:100%; height:625px; border-bottom:1px solid #000; border-right:1px solid #000; background:#fff; overflow:auto;} .cc table{width:1500px; } .cc table td{height:25px; border-bottom:1px solid #000; border-right:1px solid #000; text-align:center} </style> <script> function aa(){ var a=document.getElementById("cc").scrollTop; var b=document.getElementById("cc").scrollLeft; document.getElementById("hh").scrollLeft=b; } </script> <link href="../images/cssexamin.css" rel="stylesheet" type="text/css"> <script src="laydate/laydate.js"></script> </head> <body class="banquan" background="../images/11-08.gif"> <table border="0" align="center" width="100%" cellpadding='0' valign="top"> <tr> <td align="center" width="100%"> <img src="../images/pic.jpg"> </td> </tr> </table> <br><br> <form action="" name="form1" method="post"> <table width="750" border="0" align="center" cellpadding="2" cellspacing="1" class="banquan"> <tr> <td width="8%"><font face="Arial">Emp.NO:</font></td> <td width="6%" align="center"> <input name="EmpNo" type="text" id="EmpNo" size="15"> </td> <td> </td> <td width="11%"><font face="Arial">Section:</font></td> <td width="10%" align="center"> <font size="2" face="Arial"> <select name="Section"> <option value=""></option> <option value="TF1">TF1</option> <option value="TF2">TF2</option> <option value="CMP1">CMP1</option> <option value="CVD1">CVD1</option> <option value="PVD1">PVD1</option> <option value="CMP2">CMP2</option> <option value="CVD2">CVD2</option> <option value="PVD2">PVD2</option> <option value="4F">4F</option> <option value="CMP3">CMP3</option> <option value="TF3">TF3</option> <option value="DIFF1">DIFF1</option> <option value="IMP1">IMP1</option> <option value="DIFF2">DIFF2</option> <option value="IMP2">IMP2</option> <option value="MIDDLE">MIDDLE</option> <option value="ETCH3">ETCH3</option> <option value="LITHO3">LITHO3</option> <option value="ETCH1">ETCH1</option> <option value="ETCH2">ETCH2</option> <option value="LITHO1">LITHO1</option> <option value="SCAN">SCAN</option> <option value="LITHO2">LITHO2</option> <option value="WFS(AL)">WFS(AL)</option> <option value="WFS(CU)">WFS(CU)</option> <option value="WAT">WAT</option> <option value="OQI">OQI</option> <option value="Transfer Team">Transfer Team</option> <option value="ALL">ALL</option> </select> </font> </td> <td> </td> <td width="10%" align="center"><font face="Arial">Shift:</font></td> <td width="10%" align="center"> <font size="2" face="Arial"> <select name="Shift"> <option value=""></option> <option value="DA">DA</option> <option value="DB">DB</option> <option value="NA">NA</option> <option value="NB">NB</option> <option value="Nor">Nor</option> </select> </font> </td> <td> </td> <td width="10%" align="center"><font face="Arial">报道日期:</font></td> <td width="6%" align="center"> <input name="Onboard" type="text" id="Onboard" size="15"> </td> <td> </td> <td width="8%" align="center"> <input type="submit" name="btnEnter" value="Query"> </td> </tr> </table> </form> <% EmpNo=trim(request("EmpNo")) Section=trim(request("Section")) Shift=trim(request("Shift")) Onboard=trim(request("Onboard")) ' response.write "Onboard=" & Onboard & "<br>" %> <!--table--> <div class="t_i" style="position:absolute;left:200px"> <div class="t_i_h" id="hh"> <div class="ee"> <table cellpadding="0" cellspacing="0" border="0"> <tr bgcolor="#336666"> <td width="7%" align="center" rowspan="2"><font color="#FFFFFF" size="2" face="Arial">Emp.NO</font></td> <td width="6.5%" align="center" rowspan="2"><font color="#FFFFFF" size="2" face="Arial">Name</font></td> <td width="6.5%" align="center" rowspan="2"><font color="#FFFFFF" size="2" face="Arial">Section</font></td> <td width="8%" align="center" rowspan="2"><font color="#FFFFFF" size="2" face="Arial">Report day</font></td> <!-- <td width="18%" align="center" colspan="3"><font color="#FFFFFF" size="2" face="Arial">新人训</font></td> --> <td width="18%" align="center" colspan="3"><font color="#FFFFFF" size="2" face="Arial">必修</font></td> <!-- <td width="18%" align="center" colspan="3"><font color="#FFFFFF" size="2" face="Arial">当前工作岗位</font></td> <td width="18%" align="center" colspan="3"><font color="#FFFFFF" size="2" face="Arial">跨岗位</font></td> --> </tr> <tr bgcolor="#336666"> <td width="6%" align="center"><font color="#FFFFFF" size="2" face="Arial">应完成</font></td> <td width="6%" align="center"><font color="#FFFFFF" size="2" face="Arial">实际完成</font></td> <td width="6%" align="center"><font color="#FFFFFF" size="2" face="Arial">完成Ratio</font></td> <!-- <td width="6%" align="center"><font color="#FFFFFF" size="2" face="Arial">应完成</font></td> <td width="6%" align="center"><font color="#FFFFFF" size="2" face="Arial">实际完成</font></td> <td width="6%" align="center"><font color="#FFFFFF" size="2" face="Arial">完成Ratio</font></td> --> <!-- <td width="6%" align="center"><font color="#FFFFFF" size="2" face="Arial">应完成</font></td> <td width="6%" align="center"><font color="#FFFFFF" size="2" face="Arial">实际完成</font></td> <td width="6%" align="center"><font color="#FFFFFF" size="2" face="Arial">完成Ratio</font></td> <td width="6%" align="center"><font color="#FFFFFF" size="2" face="Arial">应完成</font></td> <td width="6%" align="center"><font color="#FFFFFF" size="2" face="Arial">实际完成</font></td> <td width="6%" align="center"><font color="#FFFFFF" size="2" face="Arial">完成Ratio</font></td> --> </tr> </table> </div> </div> <div class="cc" id="cc" onscroll="aa()"> <table cellpadding="0" cellspacing="0" border="0"> <% if Section = "" then Condition1 = "" elseif Section = "CMP1" then Condition1 = " AND sect='CMP1' " elseif Section = "CVD1" then Condition1 = " AND sect='CVD1' " elseif Section = "PVD1" then Condition1 = " AND sect='PVD1' " elseif Section = "CMP2" then Condition1 = " AND sect='CMP2' " elseif Section = "CVD2" then Condition1 = " AND sect='CVD2' " elseif Section = "PVD2" then Condition1 = " AND sect='PVD2' " elseif Section = "4F" then Condition1 = " AND sect='4F' " elseif Section = "CMP3" then Condition1 = " AND sect='CMP3' " elseif Section = "TF3" then Condition1 = " AND sect='TF3' " elseif Section = "DIFF1" then Condition1 = " AND sect='DIFF1' " elseif Section = "IMP1" then Condition1 = " AND sect='IMP1' " elseif Section = "DIFF2" then Condition1 = " AND sect='DIFF2' " elseif Section = "IMP2" then Condition1 = " AND sect='IMP2' " elseif Section = "MIDDLE" then Condition1 = " AND sect='MIDDLE' " elseif Section = "ETCH3" then Condition1 = " AND sect='ETCH3' " elseif Section = "LITHO3" then Condition1 = " AND sect='LITHO3' " elseif Section = "ETCH1" then Condition1 = " AND sect='ETCH1' " elseif Section = "ETCH2" then Condition1 = " AND sect='ETCH2' " elseif Section = "LITHO1" then Condition1 = " AND sect='LITHO1' " elseif Section = "SCAN" then Condition1 = " AND sect='SCAN' " elseif Section = "LITHO2" then Condition1 = " AND sect='LITHO2' " elseif Section = "WFS(AL)" then Condition1 = " AND sect='WFS(AL)' " elseif Section = "WFS(CU)" then Condition1 = " AND sect='WFS(CU)' " elseif Section = "WAT" then Condition1 = " AND sect='WAT' " elseif Section = "OQI" then Condition1 = " AND sect='OQI' " elseif Section = "Transfer Team" then Condition1 = " AND sect='Transfer Team' " elseif Section = "TF1" then Condition1 = " AND sect='TF1' " elseif Section = "TF2" then Condition1 = " AND sect='TF2' " end if if EmpNo="" then Condition2="" else Condition2=" AND employee_no='"&EmpNo&"' " end if if Shift="" then Condition3="" else Condition3=" AND Shift='"&Shift&"' " end if if Onboard="" then Condition4="" else Condition4=" AND edittime LIKE '"&Onboard&"%' " end if ' response.write"Condition1="&Condition1&"<br>" n=0 sql = " SELECT employee_no, name, sect, substr(edittime, 1, 4) || '-' || substr(edittime, 5, 2) || '-' || substr(edittime, 7, 2) AS edittime, safe_ttl, safe_completed, DECODE(safe_ttl, 0, 0, ROUND(safe_completed / safe_ttl * 100, 0)) AS saferatio FROM( SELECT employee_no, name, sect, edittime, COUNT(CASE WHEN group_name = 'Safe' THEN course_id END) AS safe_ttl, COUNT(CASE WHEN group_name = 'Safe' AND wr_certify = 1 THEN course_id END) AS safe_completed FROM MFG_TB_TRAINING_USER A JOIN mfg_tb_newtraining_final_result B ON A.employee_no = B.empno WHERE status = 'A' AND employee_no LIKE 'E068772' GROUP BY employee_no, name, sect, edittime) ORDER BY employee_no " 'response.write"Condition1="&sql&"<br>" set rs=conn.execute(sql) while not rs.eof if not rs.eof then EMPLOYEE_NO=rs("employee_no") NAME=rs("name") SECT=rs("sect") EDITTIME=rs("edittime") BASICTTL=rs("SAFE_TTL") BASIC=rs("SAFE_COMPLETED") BASICRATIO=rs("SAFERATIO") n=n+1 %> <tr bgcolor="#FFFFFF"> <td width="7%" align="center"><font color="#4091c4" size="2" face="Arial"><%=EMPLOYEE_NO%></font></td> <td width="6.5%" align="center"><font color="#4091c4" size="2" face="Arial"><%=NAME%></font></td> <td width="6.5%" align="center"><font color="#4091c4" size="2" face="Arial"><%=SECT%></font></td> <td width="8%" align="center"><font color="#4091c4" size="2" face="Arial"><%=EDITTIME%></font></td> <td width="6%" align="center"><a href="reportdata.asp?EMPLOYEE_NO=<%=EMPLOYEE_NO%>&GROUP_NAME=Basic&CERTIFYGROUP_TYPE=NULL"><font color="#4091c4" size="2" face="Arial"><%=BASICTTL%></font></td> <td width="6%" align="center"><font color="#4091c4" size="2" face="Arial"><%=BASIC%></font></td> <td width="6%" align="center"><font color="#4091c4" size="2" face="Arial"><%=BASICRATIO%>%</font></td> </tr> <% end if rs.MoveNext wend if n<>"0" then if CDbl(round(ratioList/n,2))>0 and CDbl(round(ratioList/n,2))<1 then i="0" & round(ratioList/n,2) & "%" else i=round(ratioList/n,2) & "%" end if if CDbl(round(ratioList1/n,2))>0 and CDbl(round(ratioList1/n,2))<1 then j="0" & round(ratioList1/n,2) & "%" else j=round(ratioList1/n,2) & "%" end if else i=0 j=0 end if %> </table> </div> <table cellpadding="0" cellspacing="0" border="0"> <tr bgcolor="#FFFFFF"> <td colspan="16" align="left" width="1520" >                                                               </td> </tr> <tr bgcolor="#FFFFFF"> <td colspan="16" align="left"> <font size="3" face="Arial" color="#0000FF"><b> 当前显示记录:</b></font> <font face="Arial" size="3" color="red"> <b><%=n%></b> </font> <font size="3" face="Arial" color="#0000FF"><b>;  当前工作岗位Ratio:</b></font> <font face="Arial" size="3" color="red"> <b><%=i%></b> </font> <font size="3" face="Arial" color="#0000FF"><b>;  跨岗位Ratio:</b></font> <font face="Arial" size="3" color="red"> <b><%=j%></b> </font> </td> </tr> </table> <table border="0" width="100%"> <td> </td> <tr> <td width="100%" align="center"> <a href="setup.asp">--返 回--</a> </td> </tr> <tr> <td width="100%" align="center" class='banquan'> <font color="#666666">©Copyright  Semiconductor Manufacturing International (Shanghai) Corp. <font color="#018ec6">2025 版权所有 ™</font> v1.0</font> </td> </tr> </table> </div> </table> <script> !function(){ laydate.skin('dahong');//切换皮肤,请查看skins下面皮肤库 laydate({elem: '#demo'});//绑定元素 }(); //日期范围限制 var start = { elem: '#start', format: 'YYYY-MM-DD', festival: true, //显示节日 max: '2099-06-16', //最大日期 istime: true, istoday: true, choose: function(datas){ end.min = datas; //开始日选好后,重置结束日的最小日期 end.start = datas //将结束日的初始值设定为开始日 } }; var end = { elem: '#end', format: 'YYYY-MM-DD', festival: true, //显示节日 max: '2099-06-16', istime: true, istoday: true, choose: function(datas){ start.max = datas; //结束日选好后,充值开始日的最大日期 } }; laydate(start); laydate(end); </script> </body> </html> 是这个 代码 你不要改变原有的代码功能
09-17
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值