запуск npm-использование CORS

Я работаю над небольшим приложением, используя Angular2. В 5мин. Краткое Руководство npm используется для установки необходимых модулей и запуска lite-сервера. Позже я хочу использовать это приложение на обычном веб-сервере и создавать мобильные приложения с помощью cordova. Как бы то ни было, я использую REST api для загрузки некоторых данных. Как настроить lite-сервер для проверки параметров перед полетом CORS? Мой сервер apache (на выделенном сервере) уже настроен, но я не хочу фиксировать, обновлять и перекомпилируйте каждое маленькое изменение. Мне нужна соответствующая конфигурация для этого:

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"

3 ответов


нет встроенной опции для этого в lite-сервере. Тем не менее, вы можете исправить это, но я действительно не вижу, что вы пытаетесь сделать здесь...

после его установки вы можете перейти в node_modules/lite-server папка и установите connect-cors:

npm install connect-cors

затем в lib/lite-server.js file, вы можете импортировать модуль и использовать его промежуточного массива после:

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 в ответе.


на самом деле лайт-сервер-это всего лишь оболочка браузера-синхронизация, если вы можете проверить документы из https://www.browsersync.io/docs/options, Вы можете найти конфигурацию CORS, а потому, что Лайт-сервер поддержка использовать конфигурационный файл, чтобы установить параметры, поэтому все, что вам нужно сделать, это просто установить конфиг файл для Lite-сервер, вы можете выбрать БС-конфиг.JS или BS-config.json, если мы используем самый простой BS-config.json, contente является:

{
    "cors": true
}

после этого вы сразу начинаете lite-сервер, вы можете увидеть:

конфигурация синхронизации браузера

{ 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-server

http-server -o --cors