У меня есть Alfresco Community 5.2 и пользовательская библиотека JS, которые можно объединить в один файл amp, потому что мне нужно использовать эту библиотеку внутри общего ресурса.
Я попытался поместить его в shareamp\web\js\
, как на картинке, но я не могу скомпилировать проект из-за ошибки минимизации YUICompressor, вероятно, библиотека JS слишком свежая и несовместима с YUICompressor.
Ошибка следующая
[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]
Я также пытался поместить его в папку META-INF\resources
, но это не сработало. Я могу скомпилировать проект и создать файл .amp, но библиотеки нет внутри усилителя, как будто она была проигнорирована.
Очевидно, я не могу изменить или удалить библиотеку, а также сделать ее совместимой с ES5 с внешним инструментом, таким как babel.js.
Где правильно разместить библиотеку JS? Можно ли отключить юикомпрессор для производства? (и это правильно?), Могу ли я настроить maven, чтобы вернуть библиотеку в усилитель в разделе <build>
(и как, если это правильно?)
Спасибо всем.
PS. Я также хотел бы знать, вызвана ли эта проблема, с которой я столкнулся, неправильным подходом к расширению alfresco / share, и если да, то как это должно быть лучше всего.
1 ответ
Мне удалось обойти проблему с добавлением ресурсов во время установки maven, то есть при создании amp.
Я поместил библиотеку JS в папку WEB-INF
, как объясняется в вопросе, поэтому в основном на открытом воздухе они игнорируются во время компиляции, и они не будут сжаты / уменьшены YUICompressor. На этапе проверки процесса установки maven эти файлы копируются по правильному пути js.
Вроде все работает как положено.
Я настроил maven-resources-plugin, вот код
<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>
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Обратите внимание, что JavaScript — это НЕ Java. Включите все теги, относящиеся к вашему вопросу: например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [стройный] и т. д.
alfresco-sdk-parent 2.2.0