我正在编写一个反应应用程序,当我导航到import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.LikeExpression;
import org.hibernate.criterion.MatchMode;
public class EscapedLikeRestrictions {
private EscapedLikeRestrictions() {}
public static Criterion likeEscaped(String propertyName, String value, MatchMode matchMode) {
return likeEscaped(propertyName, value, matchMode, false);
}
public static Criterion ilikeEscaped(String propertyName, String value, MatchMode matchMode) {
return likeEscaped(propertyName, value, matchMode, true);
}
private static Criterion likeEscaped(String propertyName, String value, MatchMode matchMode, boolean ignoreCase) {
return new LikeExpression(propertyName, escape(value), matchMode, '!', ignoreCase) {/*a trick to call protected constructor*/};
}
private static String escape(String value) {
return value
.replace("!", "!!")
.replace("%", "!%")
.replace("_", "!_");
}
}
时一切正常,但当我尝试转到localhost:3000
时,我收到一条错误消息,告诉我localhost:3000 /foo/bundle.js无法加载。
对我来说,这似乎是Webpack在bundle.js的错误位置查找的问题,但我不确定。如何让应用程序始终查看localhost:3000/foo/page
的bundle.js?
这是我的一些webpack配置。
localhost:3000
答案 0 :(得分:11)
将output.publicPath: '/'
添加到您的网络包配置中。
output: {
path: BUILD_PATH,
publicPath: '/',
filename: 'bundle.js'
}
HtmlWebpackPlugin最有可能生成具有以下内容的文件:
<script src="bundle.js"></script>
设置output.publicPath: '/'
即可:
<script src="/bundle.js"></script>
来自Webpack Config页面:
output.publicPath
publicPath指定公共URL地址 在浏览器中引用时的输出文件。对于嵌入的加载器 或标签或参考资产,如图像,publicPath是 当文件与文件不同时,用作文件的href或url() 磁盘上的位置(由路径指定)。这对你有帮助 想要在不同的域或a上托管部分或全部输出文件 CDN。 Webpack Dev Server也使用它从publicPath中获取提示 确定从哪里提供输出文件。和路径一样 可以使用[hash]替换来获得更好的缓存配置文件。