在 React 中,我需要将起始页面 index.html 更改为其他一些 html 页面(例如:person.html 作为说明页面)。我在 public 文件夹中创建了 person.html 页面并在 manifest.json 中进行了更改并尝试过。但它仍然以 index.html 为优先。
清单.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 页面。
假设您正在使用 create-react-app 创建反应应用程序,您将需要弹出项目才能重命名它。项目弹出后,您可以手动配置 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 配置在较新的 create-react-app 版本中发生了变化。以下是您现在的做法:
首先弹出。然后打开config文件夹中的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')),
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句