webpack创建静态资产文件时添加路径做出反应,创建反应应用

时间:2017-02-10 13:04:47

标签: javascript reactjs webpack

我有一个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资产中的文件都会被新文件覆盖。

4 个答案:

答案 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。它将使构建文件具有相对路径。虽然有点奇怪,但是对我有用。