2016-10-26 3 views
2

Я разработал несколько инструментов, используя базовые jQuery и шаблоны от lodash.Может ли отредактировать работу над файлом: // протокол?

я понял, используя те библиотеки, которые Ajax вызова не работают над файловой системой и дает эту ошибку, когда я пытаюсь загрузить шаблоны с помощью Ajax:

XMLHttpRequest не может загрузить файл: /// Пользователи/Pro/Google% 20Drive/DEV/задачи/webDevEnvironment/государственный/html/трубопровод-док/шаблоны/контент-один-variable.html.
Cross запросов происхождения поддерживаются только для схем протокола: HTTP, данные, хром, хром-расширения, HTTPS, хром-расширение-ресурсов

мне очень нравится РЕАКТ философии, это может быть немного избыточна для маленького инструменты, которые я создаю. Прежде, чем я начну перекодировать все, что мне было интересно, если React-приложения использовали ajax в фоновом режиме для шаблонов или было бы возможно иметь все нагрузки в теге скрипта?

Я только начинаю с React, из того, что, как я понимаю, не будет проблемой работать с файлом: // протокол ... но я предпочитаю убедиться!

+0

Я не думаю, что это возможно, поскольку React использует AJAX, и большинство вызовов React AJAX и WebSockets необходимо запускать на сервере. –

ответ

2

У него не будет проблем в самом основном случае. В зависимости от того, что вы делаете с ним, это может привести к быстрому возникновению проблем.

Простым обходным решением было бы не делать этого по протоколу file://. Вы можете легко создать что-то вроде легкого сервера express в узле, который затем позволит вам работать над протоколом http:// и обойти всю проблему.

var express = require('express'), 
    app = express(); 

app.use(express.static('source-files-directory-goes-here')); 
app.listen(3000, function() { console.log('Listening on port 3000'); }); 

Throw, что в файле с именем что-то вроде server.js, и вы можете просто запустить его с node server.js, и он будет искать копию файлов, что вы имеете в каталоге в http://localhost:3000. Вам просто нужно использовать npm install express, чтобы получить его.

Если вы хотите package.json, который вы хотите, если вы собираетесь использовать Реагировать в любом случае, вы можете иметь что-то вроде этого:

{ 
    "dependencies": { 
     "express": "latest" 
    }, 
    "scripts": { 
     "start": "node server.js" 
    } 
} 

И запустить его с npm start.

Смежные вопросы