Reactjs 反应:如何将启动文件index.html更改为manifest.json的start_url中的其他html页面
在React中,我需要将起始页面index.html更改为其他html页面(例如:person.html作为声明页面)。我已经在公用文件夹中创建了person.html页面,并在manifest.json中进行了更改,然后尝试。但它仍然将index.html作为优先级 manifest.json:Reactjs 反应:如何将启动文件index.html更改为manifest.json的start_url中的其他html页面,reactjs,react-native,Reactjs,React Native,在React中,我需要将起始页面index.html更改为其他html页面(例如:person.html作为声明页面)。我已经在公用文件夹中创建了person.html页面,并在manifest.json中进行了更改,然后尝试。但它仍然将index.html作为优先级 manifest.json: { "short_name": "React App", "name": "Create React App Sample", "icons": [ { "s
{
"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页面。假设您正在使用create react app创建react应用程序,则需要弹出项目才能重命名它。项目弹出后,您可以手动配置webpack、babel和所有其他依赖项。您需要深入网页设置以更改此设置 没有弹射就没有别的办法了。请小心,因为你无法撤消它 首先,您需要运行:
npm run eject
在webpack.config.prod.js中,将文件名更改为:
new HtmlWebpackPlugin({ inject: true, template: paths.appHtml, filename: 'person.html', ...)
您可以在此处阅读更多内容:
编辑:在较新的create react应用程序版本中,网页包配置似乎已更改。下面是您现在要做的: 第一次弹射。 然后打开config文件夹中的path.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')),
};
假设您正在使用CreateReact应用程序创建react应用程序,则需要弹出项目才能对其进行重命名。项目弹出后,您可以手动配置webpack、babel和所有其他依赖项。您需要深入网页设置以更改此设置 没有弹射就没有别的办法了。请小心,因为你无法撤消它 首先,您需要运行:
npm run eject
在webpack.config.prod.js中,将文件名更改为:
new HtmlWebpackPlugin({ inject: true, template: paths.appHtml, filename: 'person.html', ...)
您可以在此处阅读更多内容:
编辑:在较新的create react应用程序版本中,网页包配置似乎已更改。下面是您现在要做的: 第一次弹射。 然后打开config文件夹中的path.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')),
};
在webpack.config中,我添加了新的HtmlWebpackPlugin(Object.assign({},{inject:true,template:path.appHtml,fileName:“person.html”}..现在出现错误,因为在公用文件夹中找不到所需的index.html文件..仍然只搜索index.html页面..我已为新的create react应用程序版本编辑了我的答案。配置设置更改了一点。弹出后,您只需更改我已注释的那一行即可。如果有效s、 请将此标记为complete和upvote,以便对webpack.config中的某些人有所帮助。我已添加了新的HtmlWebpackPlugin(Object.assign({},{inject:true,template:path.appHtml,fileName:“person.html”}..现在出现错误,因为在公用文件夹中找不到所需的index.html文件..仍然只搜索index.html页面..我已为新的create react应用程序版本编辑了我的答案。配置设置更改了一点。弹出后,您只需更改我已注释的那一行即可。如果有效s、 请将此标记为完整并向上投票,以便帮助他人