我正在创建一个React应用程序,我使用了npm eject,所以我可以进入Webpack配置。我想改变资产的路径,因此他们没有领先的斜杠。这是因为当我运行我的应用程序时,我将文件复制到Ratpack服务器,所以当路径是/assets/js/main.js时,它指向我的路由而不是我的资产文件夹。
所以我当前的webpack配置是
output: {
// The build folder.
path: paths.appBuild,
// Generated JS file names (with nested folders).
// There will be one main bundle, and one file per asynchronous chunk.
// We don't currently advertise code splitting but Webpack supports it.
filename: 'assets/static/js/[name].[chunkhash:8].js',
chunkFilename: 'assets/static/js/[name].[chunkhash:8].chunk.js',
// We inferred the "public path" (such as / or /my-project) from homepage.
publicPath: publicPath
},
然而,它总是增加领先的斜线。
喜欢这样
<script type="text/javascript" src="/assets/static/js/main.4d5cbecd.js">
有没有办法让它像
一样构建<script type="text/javascript" src="assets/static/js/main.4d5cbecd.js">
答案 0 :(得分:0)
假设您正在讨论create-react-app
的配置,您可以删除行publicPath: publicPath
,它会生成它而不会带有斜杠。
但是,我认为您的服务器也应该在专门请求时提供文件,而不是重定向到索引页面。如果发生了什么。
另一个建议是生产,使用生产构建而不是开发构建。