сцена:
Фронт-элитное и заднее разделение, а также локальная фронтальная разработка и вызововая интерфейс будут иметь проблемы с междоменом. Обычно есть три решения:
1. Упакуйте интерфейс бэкэнд для запуска локально (недостатки: каждый раз, когда обновляется бэкэнд обновления, вы должны перейти к следующему пакету обновлений для тестового сервера, а также вы должны создать среду Java, работающую локально, что неприятно).
2. Cors Cross-Domain: Когда бэкэнд-интерфейс возвращается, добавьте «Контроль доступа к авертирушению
3. Используйте Nodejs для создания локального HTTP-сервера и перенаправьте его при доступе к URL-адресу интерфейса, идеально решайте проблему междомена во время локальной разработки.
Используются методы:
1. Создайте локальный HTTP -сервер с Nodejs
2. Примените Node-HTTP-Proxy для пересылки URL-адресов интерфейса
Конкретные методы:
1. Node.js создает локальный HTTP -сервер. Обратитесь к Shawn.xie "Nodejs создает локальный HTTP -сервер"
2. Node.js используется для пересылки Node-HTTP-Proxy. Официальный документ: https://github.com/nodejitsu/node-http-proxy#using-https
3. Способ работы упоминается: http://hao.jser.com/archive/10394/?utm_source=tuicool&utm_medium=referral
4. Вот мои собственные практические операции
Подготовка проекта
1. NPM инициализация
NPM Init
2. Установите модуль Node-HTTP-Proxy
NPM установить http-proxy-save-dev
3. Структура проекта
В следующем примере мы размещаем HTML -файл непосредственно в корневом каталоге ./ '' или указываем каталог веб -сайтов, который можно настроить в Proxy.js
Настройка HTTP -сервера и пересылку прокси
var port = 3000; var http = require ('http'); var url = require ('url'); var fs = require ('fs'); var mine = require ('./ mine'). Типы; var path = require ('path'); var httpproxy = require ('http-proxy'); 'http://192.168.10.38:8180/', // адрес интерфейса // Следующие настройки используются для https // ssl: {// key: fs.readfilesync ('server_decrypt.key', 'utf8'), // cert: fs.readync ('server.crt', 'Utf8'), // secure -readcil false}); proxy.on ('error', function (err, req, res) {res.writehead (500, {'content-type': 'text/plain'}); console.log (err); res.end ('Что-то пошло не так. И мы сообщаем о пользовательском сообщении ошибки.');}; url.parse (request.url) .pathname; // var realpath = path.join ("Основные страницы", pathname); 'неизвестно'; // Судья, если это доступ к интерфейсу, вперед if (pathname.indexof ("mspj-mall-admin")> 0) {proxy.web (запрос, ответ); return;} fs.exist 'text/rain'}); outswrite.write ("url этого запроса" + pathname + "не было найдено на этом сервере."); response.end ();} else {fs.readfile (realpath, "binary", function (err, file) {if (err) {response.write (500, {'content-type': 'text/plain'); ContentType = mine [ext] ||Mine.js
Здесь мы ссылаемся на исходный код Shawn.xie и добавляем несколько файлов шрифтов MIME.
exports.types = {"css": "text/css","gif": "image/gif","html": "text/html","ico": "image/x-icon","jpeg": "image/jpeg","jpg": "image/jpeg","js": "text/javascript","json": "application/json","pdf": "application/pdf","png": "image/png","svg": "image/svg+xml","swf": "application/x-shockwave-flash","tiff": "image/tiff","txt": "text/plain","wav": "audio/x-wav","wma": "audio/x-ms-wma","wmv": "video/x-ms-wmv","xml": "text/xml","woff": "application/x-woff","woff2": "application/x-woff2","tff": "application/x-font-truetype","otf": "application/x-font-opentype","eot": "Приложение/Vnd.ms-fontobject"};Выше всего исходное код
Затем измените адрес интерфейса в проекте на http: // localhost: 3000/...
Начать службу Nodejs
Запустить CMD, найти каталог проектов и запустить
Узел Proxy.js
доступ:
http: // localhost: 3000/index.html
Вы можете видеть, что данные будут получены с http: // localhost: 3000/...... в проекте, а затем отправлены в локальную область.
Таким образом, нет перекрестной домены.
Выше приведено введение редактора в node.js и node-http-proxy, чтобы решить междоменную проблему локального развития Ajax. Я надеюсь, что это будет полезно для всех. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит всем вовремя. Большое спасибо за вашу поддержку сайту wulin.com!