Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.09.2016, 16:45
Новичок на форуме
Отправить личное сообщение для jojocague Посмотреть профиль Найти все сообщения от jojocague
 
Регистрация: 13.08.2016
Сообщений: 7

Сборка HTML файла..
Всем привет!
Возникла идея создавать страницы сайтов, с помощью добавления блоков html в основной html скелет. В этом мне помогают jquery, fs и jsdom модули:

var fs = require('fs');
var jsdom = require('jsdom');

function homePage() {
	var header = fs.readFileSync('./dist/html/header.html').toString();
	var homepage = fs.readFileSync('./dist/html/homepage.html').toString();	
	fs.readFile('./dist/html/main.html', function(err, data) {
		var dataString = data.toString();
		jsdom.env(dataString, [], function(err, window){
			 var $ = require("jquery")(window);
			 	$('body').addClass('mainPageBody');
			 	$('html').addClass('mainPageHtml');
				$('body').html(header);
				$('body').html(homepage);
				$('body').html('<script src=../js/concatedJS/concated.js></script>');
				$('title').html("Welcome To Home Page");
			 fs.writeFileSync('./dist/html/test.html', window.document.documentElement.outerHTML);
		});
	});
};

homePage();


В результате создается файл test.html, но возникает проблема,то есть пропадает строка <!DOCTYPE html> в начале файла. Строка
'<script src=../js/concatedJS/concated.js></script>'
появляется не только в боди, но и в header.. Никак не могу понять с чем это связянно... Кто знает в чем проблема ???
Ответить с цитированием
  #2 (permalink)  
Старый 11.09.2016, 20:55
Новичок на форуме
Отправить личное сообщение для jojocague Посмотреть профиль Найти все сообщения от jojocague
 
Регистрация: 13.08.2016
Сообщений: 7

тему можно закрывать...

var fs = require('fs');
var jsdom = require('jsdom');


function homePage() {

	var header = fs.readFileSync('./dist/html/header.html').toString();
	var homepage = fs.readFileSync('./dist/html/homepage.html').toString();
	
	fs.readFile('./dist/html/main.html', function(err, data) {

		var dataString = data.toString();
		jsdom.env(dataString, [], function(err, window){
			
			var $ = require("jquery")(window);

			$('body').append(header);
			$('body').append(homepage);
			$('body').addClass('mainPageBody');
            $('html').addClass('mainPageHtml');
            $('title').html("Home Page");
			$('body').append('<script src=../js/concatedJS/concated.js></script>');
			var doubleScriptHtml = window.document.documentElement.outerHTML
			var oneScriptHtml = doubleScriptHtml.replace(/<script src="\.\.\/js\/concatedJS\/concated\.js\"><\/script>/,'')
			fs.writeFileSync('./dist/html/test.html','<!DOCTYPE html>'+ oneScriptHtml);
		});
	});
};
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как с помощью javascript взять данные из одного файла html и закинуть в другой? rusik Общие вопросы Javascript 10 08.08.2016 12:11
Загрузка внешнего html файла в нужный div kaspers Events/DOM/Window 1 22.11.2015 23:22
Помогите! Как из файла html вывести фото на главную antoxave Элементы интерфейса 14 05.11.2012 22:36
Получить содержимое HTML файла через input Battleprof Events/DOM/Window 5 13.06.2011 14:51
Вывод кусков HTML кода с одного файла JS wlad2 Общие вопросы Javascript 16 04.01.2011 11:52