我有一个react应用程序,我使用create react app构建,当我运行build时,它会生成我需要的静态资产,然后是index.html文件。我在带有gradle的Ratpack服务器上运行它。然后我使用gradle将这些文件移动到我的Ratpack目录中,这样我就可以使用Ratpack服务器运行它。当我移动文件时,我需要将/ assets /添加到JS和CSS文件的url中。
例如,目前它创建了这样的路径
<script type="text/javascript" src="/static/js/main.dab68f70.js">
我需要的地方
<script type="text/javascript" src="assets/static/js/main.dab68f70.js">
是否有可能以某种方式自动执行此操作,因为每次运行我的应用程序时,我的ratpack资产中的文件都会被新文件覆盖。
答案 0 :(得分:3)
如此配置Webpack输出publicPath怎么样?
output: {
...
publicPath: "assets",
}
我在Webpack 1.x
中使用它可在此处找到文档:http://webpack.github.io/docs/configuration.html#output-publicpath
答案 1 :(得分:1)
3年后...
我今天遇到了这个问题。并找到了我确定您已经找到的所有相同答案。
这是我修复它的方法,我进入了index.html文件,该文件加载了这几个文件并手动更改了路径。
花大约3分钟。
答案 2 :(得分:0)
最后我使用了npm eject,然后公开了webpack的所有配置文件。从这里我编辑了我的webpack配置,以获得我所需的资产路径。
答案 3 :(得分:0)
您可以在"homepage": ".",
文件中添加package.json
。它将使构建文件具有相对路径。虽然有点奇怪,但是对我有用。