【问题标题】:building one javascript file from files in various folder with jenkins使用 jenkins 从各种文件夹中的文件构建一个 javascript 文件
【发布时间】:2012-08-27 18:23:40
【问题描述】:

我有这样的文件夹结构:

js_uncompressed
  > lib
    > libraries which all js files should include.
  > common
    > files which some js files should include
  > folder1
    > screenA.js
    > screenB.js
  > folder2
    > screenC.js

我想为每个屏幕构建 javascript 文件[-something].js。

例如,

screenA.js 应该包含“lib”文件夹中的文件,fileA.js 应该包含“common”文件夹中的文件。

screenB.js 应该包含“lib”文件夹中的文件,fileB.js 应该包含“common”文件夹中的文件。

screenC.js 应包含“lib”文件夹中的文件、“common”文件夹中的 fileA.js 和 fileB.js。

如果没有一些复杂的 shell 脚本,这可能吗?

【问题讨论】:

    标签: javascript build jenkins build-automation


    【解决方案1】:

    如果您可以使用 Ant,您可以使用 Google Closure Compiler 轻松构建它。这只是一个可以开始的示例。

    <?xml version="1.0" encoding="UTF-8"?>
    <project name="Foo" default="default" basedir=".">
        <description>Bar.</description>
    
        <target name="-pre-dist">
    
            <property name="closureCompiler" value="${build.classes.dir}/../lib/compiler.jar"/>
            <property name="jsRootFolder" value="${build.web.dir}/javascript"/>
            <property name="compiledJsFolder" value="${build.web.dir}/javascript"/>
            <property name="compiledJsFileApp" value="${compiledJsFolder}/application.min.js"/>
    
            <echo>Bulding JavaScript...</echo>
    
            <java jar="${closureCompiler}"
                    args="--compilation_level SIMPLE_OPTIMIZATIONS
                    --js ${jsRootFolder}/screenA.js
                    --js ${jsRootFolder}/screenB.js
                    --js ${jsRootFolder}/screenC.js
                    --js ${jsRootFolder}/screenN.js
                    --js_output_file ${compiledJsFileApp}"/>
    
            <echo>Done!</echo>
    
        </target>
    
    </project>
    

    我从我维护的一个项目中获取了这段代码片段。它是在 NetBeans 中创建的,但您可以轻松修改它以满足您的需要。 ${build.classes.dir} 之类的值特定于 NetBeans 构建文件。这个构建文件creta一些引用(闭包编译器jar、文件夹等)并通过java任务调用编译器执行“编译”。

    【讨论】:

    • 不错!现在我可以在没有 shell 脚本的情况下缩小 js 文件!非常感谢。
    猜你喜欢
    • 2019-05-01
    • 1970-01-01
    • 2018-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-27
    • 1970-01-01
    相关资源
    最近更新 更多