2

Maven 用の yui-compressor プラグインを使用していますが、圧縮できないようです。すべての js ファイルの追加は正常に機能します。コメントや改行を削除せず、js を縮小しません (つまり、var myVar を var a に変換します)。構成に何か問題がありますか?

    <plugin>
                    <groupId>net.alchim31.maven</groupId>
                    <artifactId>yuicompressor-maven-plugin</artifactId>
                    <version>1.1</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>compress</goal>
                            </goals>
                            <configuration>
                                <jswarn>false</jswarn>
                                <disableOptimizations>false</disableOptimizations>
                                <insertNewLine>false</insertNewLine>
                                <preserveAllSemiColons>false</preserveAllSemiColons>
                                <aggregations>
                                    <aggregation>
                                        <removeIncluded>true</removeIncluded>
                                        <!-- insert new line after each concatenation (default: false) -->
                                        <output>${project.build.directory}/${project.build.finalName}/WEB-INF/scripts/all.js</output>
                                        <!-- files to include, path relative to output's directory or absolute 
                                            path -->
                                        <!--inputDir>base directory for non absolute includes, default to 
                                            parent dir of output</inputDir -->
                                        <includes>
                                            <include>${basedir}/src/main/webapp/WEB-INF/scripts/underscore.js</include>
<include>${basedir}/src/main/webapp/WEB-INF/scripts/backbone.dev.js</include>
<include>${basedir}/src/main/webapp/WEB-INF/scripts/modernizr.custom.83543.js</include>
<include>${basedir}/src/main/webapp/WEB-INF/scripts/jquery.slider.min.js</include>
<include>${basedir}/src/main/webapp/WEB-INF/scripts/myApp.js</include>
                                        </includes>
                                        <!-- files to exclude, path relative to output's directory <excludes> 
                                            <exclude>**/*.pack.js</exclude> <exclude>**/compressed.css</exclude> </excludes> -->
                                    </aggregation>
                                </aggregations>
                                <includes>
                                    <include>${basedir}/src/main/webapp/WEB-INF/scripts/*.js</include>
                                </includes>
                                <excludes>
                                    <exclude>${basedir}/src/main/webapp/WEB-INF/scripts/*min*.js</exclude>
                                    <exclude>${basedir}/src/main/webapp/WEB-INF/scripts/underscore.js</exclude>
                                    <exclude>${basedir}/src/main/webapp/WEB-INF/scripts/backbone.js</exclude>
                                    <exclude>${basedir}/src/main/webapp/WEB-INF/scripts/modernizr*.js</exclude>
                                    <exclude>${basedir}/src/main/webapp/WEB-INF/scripts/*fancybox*.js</exclude>
                                    <exclude>${basedir}/src/main/webapp/WEB-INF/scripts/jquery.easing*.js</exclude>
                                </excludes>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
4

2 に答える 2

1

私は何が起こっているのかを理解しました。実際には、いくつかの間違いがありました。まず、構成ブロック全体を実行ブロックの内部ではなく、実行ブロックに隣接させる必要があります。次に、insertNewLine オプションは集約ブロック内にある必要があります。第三に、削除されなかったコメントは /*! */ コメント。通常、ライセンス情報が含まれており、yui-compressor は削除しません。4 番目に、そして最も重要なこととして、myApp.js には eval が含まれていました。これは「悪」と見なされ、yui-compressor による圧縮を停止します。

これが人々に役立つことを願っています!

于 2012-08-03T05:31:47.087 に答える