Aji*_*oel 9 web-applications web-deployment npm firebase reactjs
当我使用npm start命令时,我的ReactJs应用程序在我的本地框上运行正常.但是,当我尝试使用firebase initto Firebase 部署我的应用程序时,我看到一个空白页面.我能做错什么?
更新:我必须编辑Firebase.json文件以删除
"predeploy": ["npm --prefix \"$RESOURCE_DIR\" run lint"],
Run Code Online (Sandbox Code Playgroud)
因为我得到了与此相关的错误.
Firebase.json:
{
"database": {
"rules": "database.rules.json"
},
"firestore": {
"rules": "firestore.rules",
"indexes": "firestore.indexes.json"
},
"functions": {
"source": "functions"
},
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
},
"storage": {
"rules": "storage.rules"
}
}
Run Code Online (Sandbox Code Playgroud)
Firebase部署命令输出:
=== Deploying to 'socialmedia-5ec0a'...
i deploying database, storage, firestore, functions, hosting
i database: checking rules syntax...
+ database: rules syntax for database socialmedia-5ec0a is valid
i storage: checking storage.rules for compilation errors...
+ storage: rules file storage.rules compiled successfully
i firestore: checking firestore.rules for compilation errors...
+ firestore: rules file firestore.rules compiled successfully
i functions: ensuring necessary APIs are enabled...
+ functions: all necessary APIs are enabled
i storage: uploading rules storage.rules...
i firestore: uploading rules firestore.rules...
i functions: preparing functions directory for uploading...
i hosting[socialmedia-5ec0a]: beginning deploy...
i hosting[socialmedia-5ec0a]: found 5 files in public
+ hosting[socialmedia-5ec0a]: file upload complete
i database: releasing rules...
+ database: rules for database socialmedia-5ec0a released successfully
+ storage: released rules storage.rules to firebase.storage/socialmedia-5ec0a.appspot.com
+ firestore: released rules firestore.rules to cloud.firestore
i hosting[socialmedia-5ec0a]: finalizing version...
+ hosting[socialmedia-5ec0a]: version finalized
i hosting[socialmedia-5ec0a]: releasing new version...
+ hosting[socialmedia-5ec0a]: release complete
+ Deploy complete!
Project Console: https://console.firebase.google.com/project/socialmedia-5ec0a/overview
Hosting URL: https://socialmedia-5ec0a.firebaseapp.com
Run Code Online (Sandbox Code Playgroud)
Wil*_*hew 16
我遇到了同样的问题.http:// localhost:3000 /正在为应用程序提供良好服务但是当我部署使用时npm run build,firebase deploy我只是看到一个空白页面.
我不确定原因,但我将firebase.json中的'public'属性更改为"build"并且它有效.
这是我的新firebase.json文档.
{
"hosting": {
"public": "build",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
看看public你的财产package.json
"public": "public",
Run Code Online (Sandbox Code Playgroud)
它指向firebase托管将查找您的应用程序的资源文件夹.如果资源文件夹为空,您将看到一个空白页面
当您构建您的react应用程序时build,如果您没有另外指定,则默认情况下所有文件都将转到该文件夹.因此,将公共属性设置为reactjs构建文件夹.
小智 8
firebase.json您还可以检查更改文件是否不起作用的另一件事。
Application->Clear Storageclean site datarefresh应用程序。在某些情况下,它是有效的。
使用初始化Firebase应用程序后firebase init,您应该在项目的文件夹中有一个firebase.json文件.问题是公钥必须指向您的构建文件夹.例如,在创建反应的应用程序内生成文件夹是建立/你已经跑后NPM运行生成的第一次.然后firebase.json必须看起来类似于这个:
{
"hosting": {
"public": "build",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
公钥指向构建.然后尝试使用firebase部署进行另一次部署.
小智 6
| 归档时间: |
|
| 查看次数: |
3921 次 |
| 最近记录: |