在前端开发中,我们经常需要将我们的代码部署到线上服务器上进行测试。而在使用 CI 工具 Travis CI 进行自动化测试的时候,我们就需要一个简单的服务器能够将我们的代码运行起来,以便 Travis CI 能够对其进行测试。这就是 npm 包 simple-webserver-for-travis 的作用。
安装和使用
首先,我们需要使用 npm 将 simple-webserver-for-travis 安装到我们的项目中。
npm install simple-webserver-for-travis --save-dev
安装完毕之后,我们就可以在 package.json 中增加如下的脚本命令:
"scripts": { "start": "node node_modules/simple-webserver-for-travis/index.js" }
然后,我们就可以使用以下命令启动服务器:
npm start
该服务器会自动监测当前目录下的 .html、.js 和 .css 文件,并将它们提供给浏览器。默认情况下,该服务器会监听端口 3000。如果你希望修改监听的端口,可以在启动服务器的时候加上一个参数:
npm start -- --port=8080
这会使服务器监听端口 8080。
可以做什么
simple-webserver-for-travis 极其简单,只能提供一些基本的功能,但是它足以满足我们的自动化测试需求。以下是 simple-webserver-for-travis 能够完成的一些事情:
提供静态文件
simple-webserver-for-travis 可以检测并提供当前目录下的 .html、.js 和 .css 文件。这意味着我们可以将我们的前端代码部署到该服务器上进行测试。
模拟 API
在我们的自动化测试中,我们可能需要对一些 API 进行测试。simple-webserver-for-travis 能够提供一个简单的 API 接口,以便我们进行测试。要提供一个 API 接口,我们只需要在当前目录下将具有 JSON 格式的文件保存在 api 目录中。例如,我们的项目根目录下有一个 api/getUserInfo.json 文件:
{ "name": "Lucy", "age": 18, "gender": "Female" }
我们可以通过以下 URL 来访问该 API:
http://localhost:3000/api/getUserInfo
simple-webserver-for-travis 会根据文件名自动匹配访问的 URL。
跨域支持
在实际的开发中,我们可能需要跨域请求一些数据。simple-webserver-for-travis 支持跨域请求。
假设我们在 http://localhost:8080/ 上部署了我们的前端代码,并且我们需要在该前端代码中请求 URL 为 http://localhost:3000/api/getUserInfo 的 API,我们就需要启用跨域支持。我们可以使用以下命令在 simple-webserver-for-travis 中启用跨域支持:
npm start -- --cors=http://localhost:8080
这将允许来自 http://localhost:8080 的请求来访问我们的 simple-webserver-for-travis 服务器。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60065f73238a385564ab6859