J'avais des ennuis parce que je ne pensais pas qu'il y avait un plug-in si c'était aussi célèbre que ESLint, alors je l'ai résolu. Je ne veux pas installer node par moi-même en raison de problèmes de version, donc si j'utilise Maven dans un projet Java, j'ai réfléchi à la façon d'installer un plug, donc cela ressemble à cet article.
Adopt Open JDK Hotspot 11.0.3 Maven 3.6.0
Je vais l'omettre ici. Tout projet Maven va bien.
Ce sera npm install
dans Maven, alors créez-le d'abord.
package.json
{
"dependencies": {},
"devDependencies": {
"eslint": "^6.5.1"
}
}
Pour le moment, cela ressemble au minimum. Comme il existe de nombreuses versions, veuillez lire la version appropriée.
Puisqu'il peut être installé avec un plugin appelé frontend-maven-plugin
, nous le définirons d'abord.
Fondamentalement, vous pouvez le définir comme officiellement.
pom.xml
<plugin>
<groupId>com.github.eirslett</groupId>
<artifactId>frontend-maven-plugin</artifactId>
<version>1.8.0</version>
<configuration>
<nodeVersion>v10.16.3</nodeVersion>
</configuration>
<executions>
<execution>
<id>install node and npm</id>
<goals>
<goal>install-node-and-npm</goal>
</goals>
<phase>generate-resources</phase>
</execution>
<execution>
<id>npm install</id>
<goals>
<goal>npm</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<arguments>install</arguments>
</configuration>
</execution>
</executions>
</plugin>
./mvnw generate-resources
créera des fichiers liés aux nœuds.
Si vous n'avez pas de fichier pour exécuter ESlint, vous devez l'initialiser ici.
Cependant, veuillez noter que le fichier exécutable du nœud se trouve dans le dossier node
de la racine du projet, vous devez donc l'ajouter à votre PATH.
export PATH=node/:$PATH
Tout ce que vous avez à faire est de l'exécuter et de le configurer. Je pensais d'abord le configurer à partir de Gitbash sur Windows, mais cela n'a pas fonctionné, donc je recommande de le faire sur un Mac uniquement ici.
node_modules/.bin/eslint --init
Puisque je souhaite définir la même règle du côté Eclipse dans l'histoire du projet en cours de développement dans Eclipse, j'ai séparé le fichier caché init par un lien symbolique. Il semble que vous ne pouvez utiliser Tern que pour le faire avec Eclipse, mais c'est un peu pratique car vous pouvez suivre les mêmes règles.
Cela me rend triste de développer Javascript en utilisant Eclipse, donc je veux personnellement utiliser VSCode uniquement lorsque je joue avec Javascript, mais cette fois je peux faire tout le développement sur Eclipse pour la commodité du projet. Nous devons le faire, nous mettons donc en œuvre ce type de réponse.
Maintenant que nous sommes prêts, nous allons modifier à nouveau pom.xml pour qu'ESLint puisse être exécuté à partir de Maven.
Ceci est fait en utilisant ʻexec-maven-plugin. J'aurais aimé pouvoir le faire avec
frontend-maven-plugin`, mais cela n'a pas fonctionné alors j'essaye d'utiliser un autre plug-in.
Ici, le paramètre consiste à appeler eslint_exec.sh à partir de la commande bash.
pom.xml
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<phase>verify</phase>
<id>exec-eslint</id>
<configuration>
<executable>bash</executable>
<arguments>
<argument>eslint_exec.sh</argument>
</arguments>
</configuration>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
</plugin>
Le contenu de eslint_exec.sh ressemble à ceci. Définir le subordonné du nœud dans PATH est gênant pour l'avoir défini dans divers environnements, j'ai donc décidé de l'exécuter dans ce cas. Le reste exécute simplement ESLint. ʻSortie 0` est inclus parce que je ne voulais pas faire d'erreur même si je me suis fait prendre lors de la vérification lors de l'exécution avec Jenkins.
eslint_exec.sh
export PATH=node/:$PATH
node_modules/.bin/eslint src/main/resources/static/js/*/**
exit 0
Puisque la vérification fera ce que vous voulez faire cette fois, définissez le paramètre d'objectif pour vérifier.
./mvnw verify
Je ne pense pas qu'il soit possible de développer Javascript à cet âge, alors j'ai pensé qu'il aurait été préférable de penser à un moyen de le construire un peu plus facilement dans l'ensemble.