npm开始 – 使用CORS

我正在使用Angular2开发一个小应用程序。 在5分钟内。 快速入门指南 npm用于安装所需的模块并启动lite-server。 后来我想在普通的networking服务器中使用这个应用程序,并用cordova构build移动应用程序。 如何,我正在使用REST api来加载一些数据。 如何configurationlite-server来解决CORS pre-flight选项检查? 我的apache服务器(在专用服务器上)已经configuration好了,但是我不想提交,更新和重新编译每一个小的改动。 我需要一个相应的configuration:

Header always set Access-Control-Allow-Origin "https://my-domain.net:12345" Header always set Access-Control-Allow-Headers "X-Requested-With, Content-Type, Origin, Authorization, Accept, Client-Security-Token, Accept-Encoding" Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT" Header always set Access-Control-Max-Age "1000" 

       

网上收集的解决方案 "npm开始 – 使用CORS"

lite-server中没有内置的选项。 也就是说,你可以修补它,但我真的不知道你在这里做什么…

安装完成后,可以进入node_modules/lite-server文件夹并安装connect-cors模块:

 npm install connect-cors 

然后在lib/lite-server.js file ,可以导入模块并在以下情况下将其用于中间件arrays:

 var historyFallback = require('connect-history-api-fallback'); var log = require('connect-logger'); var cors = require('connect-cors'); // <------------------ (...) sync.init({ port: argv.port || 3000, server: { baseDir: options.baseDir, middleware: [ cors(), // <------------------ log(), historyFallback({ index: options.fallback }) ] }, files: options.files, }); 

使用以下命令启动服务器时,CORS支持可用:

 ./bin/lite-server --baseDir ../../ 

通过在请求中添加Origin标头,您将在响应中看到CORS标头。

实际上,lite-server只是浏览器同步的一个包装,如果你可以从https://www.browsersync.io/docs/options查看文档,你可以findcors的configuration,而且lite-server支持使用一个configuration文件来设置选项,所以你只需要为lite-server设置一个configuration文件,如果我们使用最简单的bs-config,你可以selectbs-config.js或者bs-config.json&#x3002; json,内容是:

 { "cors": true } 

那么你直接启动lite-server,你可以看到:

浏览器同步configuration

 { injectChanges: false, files: [ './**/*.{html,htm,css,js}' ], watchOptions: { ignored: 'node_modules' }, server: { baseDir: './', middleware: [ [Function], [Function] ] }, cors: true } 

[BS]访问URL:

  Local: http://localhost:3000 

那意味着cors工作。

我发现与http服务器

http-server -o --cors