在React中,我需要将起始页面index.html更改为其他html页面(例如: person.html作为声明页)。我已经在公用文件夹中创建了person.html页面,并在manifest.json中进行了更改并尝试了。但它仍然把index.html作为优先事项。
manifest.json:
{
"short_name": "React App",
"name": "Create React App Sample",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
}
],
"start_url": "./person.html", //here i have changed and tried
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}我期待的结果在呈现时,它不应该运行index.html,应该采取其他的html页面。
发布于 2019-10-03 07:54:13
假设您使用来创建react应用程序,那么您需要弹出该项目才能重命名它。一旦项目被弹出,您可以手动配置webpack、babel和所有其他依赖项。您将需要深入webpack的设置,以改变这一点。
没有弹射,就没有别的办法。请小心,因为你无法解开它。
首先,您需要运行:
npm run eject在webpack.config.prod.js中,将文件名更改为:
new HtmlWebpackPlugin({ inject: true, template: paths.appHtml, filename: 'person.html', ...)您可以在这里阅读更多内容:https://github.com/facebook/create-react-app/issues/1761
编辑:
看起来webpack的配置在更新的创建-反应-应用程序版本中发生了变化。下面是你现在的做法:
第一次弹射。然后打开配置文件夹中的paths.js,并更改module.exports中的appHtml属性。
下面是为您修改的导出对象:
module.exports = {
dotenv: resolveApp('.env'),
appPath: resolveApp('.'),
appBuild: resolveApp('build'),
appPublic: resolveApp('public'),
appHtml: resolveApp('public/person.html'), //Change only this line
appIndexJs: resolveModule(resolveApp, 'src/index'),
appPackageJson: resolveApp('package.json'),
appSrc: resolveApp('src'),
appTsConfig: resolveApp('tsconfig.json'),
appJsConfig: resolveApp('jsconfig.json'),
yarnLockFile: resolveApp('yarn.lock'),
testsSetup: resolveModule(resolveApp, 'src/setupTests'),
proxySetup: resolveApp('src/setupProxy.js'),
appNodeModules: resolveApp('node_modules'),
publicUrl: getPublicUrl(resolveApp('package.json')),
servedPath: getServedPath(resolveApp('package.json')),
};https://stackoverflow.com/questions/58214552
复制相似问题