我被几乎完全使用React的create-react应用程序所宠坏了,该应用程序为npm提供了构建实用程序,这使得将我的项目部署到静态网站托管非常容易(github页面/激增),最后只给我提供了原始的html / css / js。
但最近一位朋友来找我,无论他在哪所学校,他们都教他如何用Express编写应用程序,但却没有教他如何部署它们。目前我已经在Heroku上找到了他的代码,但他可能会更好地使用静态托管(因为这个站点非常简单,只用于路由/功能,没有服务器端代码或交互)
有什么像创建-反应-应用程序的构建功能的快速吗?这件极其简单的事情绝对不可能需要一个完整的节点服务器的开销。
发布于 2018-03-15 20:14:28
我对在非常简单的站点上工作有着同样的感觉,所以我已经将我的express应用程序转换为网络助推方法,它在引擎盖下使用相同的表达式。
您唯一需要做的就是创建web-boost.json配置文件,它看起来像
{
"routes": {
"/": {
"view": "index.twig",
"vars": {
"title": "Home page",
"greeting": "Hello world!"
},
"assets": {
"js/index.min.js": [
"js/index.js"
]
}
},
"/user": {
"view": "user.twig",
"vars": {
"title": "User's page",
"greeting": "Hi John Doe!"
},
"assets": {
"css/user.min.css": [
"styles/bootstrap.min.css",
"styles/user.scss"
]
}
}
}
}然后使用wb-compile命令将动态应用程序转换为静态应用程序。
在此之后,我刚刚将静态页面部署到AWS.S3
发布于 2017-06-19 20:43:20
我想你可能把一些东西混为一谈,所以让我们从一开始就开始,以确保我们使用的是相同的定义。
Node是一个JavaScript引擎,由V8引擎(它是为Chrome构建的)提供动力。它基本上是一个JavaScript解释器。
Express是一个包,构建在Node的http库之上。它是节点与nginx或apache的对应物之一。
Heroku是一种基于云的web主机,它具有动态扩展的能力(比如AWS,它是在此基础上构建的)。
说"Express不需要一个完整的节点服务器“并不是很有意义。他只需要一台能运行Node应用程序的服务器。节点服务器的大小可能会有所不同,实际上,他可能不需要非常大的服务器。
Heroku可能是一个非常合适的主人。他不需要使用缩放或任何东西,而且在那里部署Node应用程序也相当容易。
许多其他流行的主机也可以支持Node。如果他们给你终端访问和安装应用程序的能力,他们几乎肯定可以。
据我所知,没有任何像create-react-app这样的程序只会衍生出一个express应用程序的新实例。那可能是因为它们设置起来非常简单。对于一个普通的快速应用程序来说,只要两个文件就足够了:package.json和您的快递文件(我将命名为index.js )。
package.json:
{
"name": "my-app",
"dependencies": {
"express": "latest"
}
}index.json:
const express = require('express');
const app = express();
app.get('/', (req, res) => res.send('<h1>Hello World</h1>').end());
app.listen(8888, () => console.log('Listening on port 8888'));将其部署到任何可以运行Node并运行命令npm install; node index.js的服务器上,就会启动它。
通常情况下,您将创建一个express服务器来为您的web应用程序提供服务,这些应用程序通常都是用React编写的(这是我每天都在使用的场景)。create-react-app只是建立一个在其结构上相当固执己见的项目的一种快速方式,但并不是使用React的唯一方法。
(从技术上讲,没有package.json是可以逃脱的,但是您必须在服务器上手动运行npm install express,这很奇怪,所以不要这样做)。
https://stackoverflow.com/questions/44639402
复制相似问题