在Spring-Boot / Angular 5项目中,由于我们在要替换的js中修复的处理弹出窗口路由中的错误,我需要替换Angular路由器的核心库文件(router.js)。 node_modules目录。
在项目的根目录中,我创建了一个包含此修补程序的目录:
├── patch
│ └── node_modules
│ └── @angular
│ └── router
│ └── esm5
│ └── router.js
,我需要在实际的 node_modules 目录中将其替换:
node_modules/
└── @angular
└── router
└── esm5
└── router.js
这是我正在使用的pom的一部分:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>${maven-resources-plugin.version}</version>
<executions>
<execution>
<id>patch-angular-node-modules</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<overwrite>true</overwrite>
<outputDirectory>node_modules/</outputDirectory>
<resources>
<resource>
<directory>patch/node_modules/</directory>
<includes>
<include>**/*.js</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
除了将整个 node_modules 目录替换为 patch / node_modules 的目录,而不是仅仅替换patch / node_modules中的文件之外,它几乎可以正常工作,而不会删除补丁下不存在的文件/目录。
我该如何实现?