Saya memiliki Alfresco Community 5.2 dan perpustakaan JS khusus untuk digabungkan dalam satu file amp karena saya perlu menggunakan perpustakaan itu di dalam share.

Saya mencoba meletakkannya di bawah shareamp\web\js\, seperti pada gambar, tetapi saya tidak dapat mengkompilasi proyek karena kesalahan minify YUICompressor, mungkin perpustakaan JS terlalu baru dan tidak kompatibel dengan YUICompressor.

lib position

Kesalahannya adalah sebagai berikut:

[ERROR] Failed to execute goal net.alchim31.maven:yuicompressor-maven-plugin:1.5.1:compress (compress-js) on project MyProjectShare: Execution compress-js of goal net.alchim31.maven:yuicompressor-maven-plugin:1.5.1:compress failed: Compilation produced 3 syntax errors. -> [Help 1]

Saya juga mencoba meletakkannya di bawah folder META-INF\resources tetapi tidak berhasil. Saya dapat mengkompilasi proyek dan membuat file .amp, tetapi perpustakaan tidak ada di dalam amp, seperti telah diabaikan.

lib position #2

Jelas saya tidak dapat mengubah atau menghapus perpustakaan, saya juga tidak dapat membuatnya kompatibel dengan ES5 dengan alat eksternal seperti babel.js.

Di mana tempat yang benar untuk meletakkan perpustakaan JS? Apakah mungkin untuk menonaktifkan yuicompressor juga untuk produksi? (dan itu benar?), Bisakah saya mengonfigurasi maven untuk mengembalikan perpustakaan ke amp di bagian <build> (dan bagaimana jika itu benar?)

Terimakasih untuk semua.

PS. Saya juga ingin tahu apakah masalah yang saya hadapi ini disebabkan oleh pendekatan yang salah terhadap ekstensi alfresco/share, dan, jika demikian, bagaimana praktik terbaiknya.

0
Fjordo 28 Oktober 2019, 12:37

1 menjawab

Jawaban Terbaik

Saya telah dapat mengatasi masalah menambahkan sumber daya selama instalasi maven, yaitu, pembuatan amp.

Saya menempatkan perpustakaan JS di bawah folder WEB-INF, seperti yang dijelaskan dalam pertanyaan, jadi pada dasarnya alfresco mengabaikannya pada waktu kompilasi dan mereka tidak akan dikompresi/diperkecil oleh YUICompressor. Selama fase validasi dari proses instalasi pakar, file-file itu disalin di dalam jalur js yang benar.

Semua tampaknya berfungsi seperti yang diharapkan.

Saya mengonfigurasi maven-resources-plugin, ini kodenya

<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
        <execution>
        <id>copy-resources</id>
        <!-- here the phase you need -->
        <phase>validate</phase>
        <goals>
            <goal>copy-resources</goal>
        </goals>
        <configuration>
            <outputDirectory>${basedir}/target/amp/web/BNextScanShare/js/DynamicWebTWAIN/</outputDirectory>
            <resources>          
                <resource>
                    <directory>/src/main/resources/META-INF/resources/DynamicWebTWAIN</directory>
                    <filtering>true</filtering>
                </resource>
            </resources>              
        </configuration>            
    </execution>
    </executions>
</plugin>
0
Fjordo 28 Oktober 2019, 14:21