Build your customization dojo

本文介绍如何从源代码下载并使用Ant构建定制版Dojo Toolkit的过程,包括更新构建文件、选择所需组件、清理无用文件及最终打包成WAR文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Download the src version dojo from dojo's offical site.
http://download.dojotoolkit.org/release-1.5.0/dojo-release-1.5.0-src.zip

2. Make sure you have already install the Ant successfully. The version should bigger than 1.7.

3. Update the build.xml according the definition xml.
The core definition is already be marked as red.

<project name="DojoWAR" default="production" basedir="." >

 <!-- The directory where build artifacts are created -->
  <property name="dir.build" location="build"/>
    
 <!-- The directory where the war file will be placed -->
 <property name="dir.dist"  location="${dir.build}/dist"/>
 
 <target name="production" depends="buildDojoProfile, generateDistributable"/>
   
 <target name="generateDistributable"
  description="Builds the distributable Dojo War file">

  <!-- Build up the WAR  -->
  <mkdir dir="${basedir}/temp"/>
  <mkdir dir="${basedir}/build/dist"/>
     
  <war destfile="${dir.dist}/DojoWEB.war" >
    <zipfileset dir="${basedir}/WebContent/" includes="**/**" />
  </war>     
   
 </target>

 <target name="buildDojoProfile">
   <property name="dir.profile"
    location="${basedir}/dojo-release-1.5.0-src"/ >
      
  <echo message="Building Dojo profile..."/>
      
      
  <!-- Start the profile build by forking a java process to run ShrinkSafe -->
  <java fork="true"
     dir="${dir.profile}/util/buildscripts"
     classname="org.mozilla.javascript.tools.shell.Main">
    <classpath>
      <pathelement location="${dir.profile}/util/shrinksafe/js.jar"/>
      <pathelement location="${dir.profile}/util/shrinksafe/shrinksafe.jar"/>
    </classpath>
    <arg value="${dir.profile}/util/buildscripts/build.js"/>
    <arg value="version=1.5.0"/>
    <arg value="profileFile=${dir.profile}/util/buildscripts/profiles/baseplus.profile.js"/>
    <arg value="action=release"/>
    <arg value="optimize=shrinksafe"/>
    <arg value="cssOptimize=comments.keepLines"/>
  </java>
  <!-- remove unused Dojo files and directories -->  
  <!-- that we don't want to include            -->
      
    <delete includeemptydirs="true">
        <fileset dir="${dir.profile}/release/dojo/dojo" includes="**/tests/**/"/>
        <fileset dir="${dir.profile}/release/dojo/dojo" includes="**/demos/**/"/>
        <fileset dir="${dir.profile}/release/dojo/dojo" includes="util/**"/>
        <fileset dir="${dir.profile}/release/dojo/dojo" includes="**/*.psd"/>
        <fileset dir="${dir.profile}/release/dojo/dojo" includes="**/*.fla"/>
        <fileset dir="${dir.profile}/release/dojo/dojo" includes="**/*.svg"/>
        <fileset dir="${dir.profile}/release/dojo/dojo" includes="**/*.as"/>
        <fileset dir="${dir.profile}/release/dojo/dojo" includes="**/*.swf"/>
        <fileset dir="${dir.profile}/release/dojo/dijit/themes/"
        includes="**/themeTester*"/>
        <fileset dir="${dir.profile}/release/dojo/" includes="**/*.uncompressed.js"/>
     </delete>      

 <copy toDir="${basedir}/WebContent/">
   <fileset dir="${dir.profile}/release/dojo" excludes="**/util/**" />
 </copy>    
</target>

<!-- Simple cleanup -->
  <target name="clean" description="Cleans out build files">
    <delete dir="${dir.build}"/>       
      <delete dir="${basedir}/WebContent/dijit"/>
    <delete dir="${basedir}/WebContent/dojo"/>
      <delete dir="${basedir}/WebContent/dojox"/>      
      <delete file="${basedir}/WebContent/dojo_extraction_revision.txt"/>
      <delete file="${basedir}/WebContent/dojo_extraction.log"/>
      <delete file="${basedir}/WebContent/version.txt"/>      
  </target>
</project>

4. You can write your own definition like below. Put your required components to the definition file.
It already be marked as red.

dependencies = {
    layers: [
        {
            // This is a specially named layer, literally 'dojo.js'
            // adding dependencies to this layer will include the modules
            // in addition to the standard dojo.js base APIs.
            name: "dojo.js",
            dependencies: [
                "dijit.form.ValidationTextBox",
                "dijit.form.FilteringSelect",
                "dijit.form.DateTextBox",
                "dijit.Tooltip",
                "dijit.form.Button"

            ]
        }
    ],

    prefixes: [
        [ "dijit", "../dijit" ],
        [ "dojox", "../dojox" ]
    ]
}

5. Run Ant in the folder.

### 回答1: 自定义工具是一种允许用户根据自己的需要定制软件或硬件的应用程序或服务。自定义工具可以使用户根据特定要求来创建个性化的解决方案,以满足自己的业务需要。这种工具在不同的行业中得到了广泛的应用,例如科学研究、工业制造、企业管理等。通过自定义工具,用户可以将现有的功能进行修改或增强,以满足个性化的需求,同时还可以加强软件的合规性和安全性。另外,自定义工具也能够极大地增强用户的体验,提高软件和硬件的适用性和可用性。总之,自定义工具可以为用户提供灵活性和多样化的选择,使得用户可以更好地适应和应对不同的环境和应用场景,提高效率和质量,同时也为企业的发展提供了更好的保障。 ### 回答2: Customization Tool是一种个性化定制工具,它主要用于帮助用户个性化定制、配置和管理他们的应用程序、网站或设备等。通过使用这个工具,用户可以选择自己的品牌标志、颜色方案、背景图像、字体和其他设计元素,以创建定制化的用户界面。这种工具通常被广泛应用于各行业和领域,例如电子商务、移动设备应用、教育机构和企业应用等领域。 Customization Tool的核心功能包括:1)提供一组可定制的预制模板和元素,以帮助用户快选定制化过程;2)易于使用的界面和工作流程,以帮助用户快速生成并实现他们的自定义请求;3)多平台支持,以支持在不同的设备和应用程序上进行个性化定制;4)自动生成代码功能,以加快用户的构建和部署速度。 随着人工智能(AI)和机器学习的发展,Customization Tool也正在逐渐智能化。未来,Customization Tool将具有更高的可智能化程度,它将能够分析用户行为、喜好和趋势,以提供更智能化的用户建议和设计元素。此外,Customization Tool还将能够与其他设备和应用程序进行集成,以更好地支持用户的业务流程和任务完成。 ### 回答3: 定制化工具是一种软件程序或平台,旨在提供一种简单的方法来创建个性化的产品或服务。这些工具通常用于网站、应用程序和其他数字产品,并能用于不同层次的用户,包括开发者和非技术人员。 定制化工具提供了一种简便的方法,让用户根据自己的需求来创建或修改产品。它们使得用户能够更快地构建、调整和部署产品,从而大幅度缩短了产品开发时间。这些工具还增加了用户对产品的参与度,提高了他们对所创造产品的满意度。 定制化工具能帮助用户更好地了解自己所需的产品,并提供更好的体验。事实上,定制化工具是一个快速、方便、经济实惠和易于使用的工具,可以帮助用户更好地满足市场需求。 总之,定制化工具是一种有用的解决方案,可帮助企业和个人在数字产品领域更好地理解和挖掘市场需求,并更快地开发出更符合市场需求的产品。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值