Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 21.01.2015, 00:35
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

melky, я пытаюсь понять, как это работает
Мне от него нужен bundle, насколько я понимаю, чтобы юзать в браузере. Как его получить?

Я понимаю так, что мне нужно указать все файлы, которые будут в пакете (bundle) и это указывается в хэше entry.
Или я заблуждаюсь?
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 21.01.2015 в 00:41.
Ответить с цитированием
  #22 (permalink)  
Старый 21.01.2015, 00:45
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от nerv_ Посмотреть сообщение
melky, я пытаюсь понять, как это работает
Мне от него нужен bundle, насколько я понимаю, чтобы юзать в браузере. Как его получить?

Я понимаю так, что мне нужно указать все файлы, которые будут в пакете (bundle) и это указывается в хэше entry.
Или я заблуждаюсь?
entry - входная точка

ниже - дерево модулей

кружок - начало; входная точка, т.е. entry
параллелограммы - модули вызываются внутри entry файла ( вызов - это require('jquery') )
трапеции - модули цепляются из "параллелограммов"

как работает ? хм... ну он парсит указанные entry файлы на предмет вызова модулей, а затем рекурсивно парсит вызываемые модули на предмет вызова модулей
Ответить с цитированием
  #23 (permalink)  
Старый 21.01.2015, 00:59
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

melky, ну, пока он ничего не парсит, а шлет меня на х*й в течении последних двух часов

https://yadi.sk/i/BP-I6HNAe8GTJ

Чувствую, что буду пробовать browserify)))
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #24 (permalink)  
Старый 21.01.2015, 01:04
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от nerv_ Посмотреть сообщение
melky, ну, пока он ничего не парсит, а шлет меня на х*й в течении последних двух часов
https://yadi.sk/i/BP-I6HNAe8GTJ

попробуй указать относительный путь к entry (т.е. относительно файла webpack.config.js)

конкретно в твоем случае это "./httpdocs/js/project.js" (вроде бы)


P.S. непрошенный совет resolve.extensions лучше не правь - это для advanced юзеров ) на скрине вижу, ты забыл про index.js (пустая строка). см доку

Сообщение от nerv_ Посмотреть сообщение
Чувствую, что буду пробовать browserify)))
перебежчик

Последний раз редактировалось melky, 21.01.2015 в 01:07.
Ответить с цитированием
  #25 (permalink)  
Старый 21.01.2015, 11:48
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от melky
опробуй указать относительный путь к entry (т.е. относительно файла webpack.config.js)
у меня весь конфиг в грант-файле

Сообщение от melky
конкретно в твоем случае это "./httpdocs/js/project.js" (вроде бы)
сделал. Уперся в
ERROR in Entry module not found: Error: Cannot resolve module 'script' in %PATH%


Теперь конфиг имеет вид

var path = require('path');

module.exports = function(grunt) {

    grunt.loadNpmTasks('grunt-webpack');

    grunt.initConfig({

        // Read configuration from package.json
        pkg: grunt.file.readJSON('package.json'),

        // webpack
        webpack: {
            // common
            options: {

                entry: './httpdocs/js/project.js',
                output: {
                    //path: path.join(__dirname, 'build'),
                    filename: 'bundle.js'
                },
                module: {
                    loaders: [
                        {test: /\.js$/, loader: 'script'}
                    ]
                }
            },
            start: {

            }
        }

    });

    grunt.registerTask('default', ['webpack:start']);
};


Сообщение от melky
P.S. непрошенный совет resolve.extensions
удалил

Сообщение от melky
перебежчик
не, я был бы им, если использовал веб-пак. Мне его даже запустить не удалось)
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #26 (permalink)  
Старый 21.01.2015, 14:13
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от nerv_
module: {
	                    loaders: [
	                        {test: /\.js$/, loader: 'script'}
	                    ]
	                }
У меня:
module: {
        loaders: [
            {test: /\.js$/, loader: '6to5'}
        ]
    }

6to5 это сборщик, у тебя какой-то script <- это у тебя сборщик такой?

из package.json:
"devDependencies": {
      "6to5": "^2.13.1",
      "6to5-loader": "^2.0.0",
      "grunt": "^0.4.5",
      "grunt-webpack": "^1.0.8",
      "webpack": "^1.5.1",
      "webpack-dev-server": "^1.7.0"
    }
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #27 (permalink)  
Старый 21.01.2015, 14:26
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Gozar, ага, я тоже на это думал. Но, поскольку в данный момент я запускаю веб-пак без необходимости конвертации из es6 в es5, то, как я думал, в моем случае загрузчик должен быть другим (обычным).

Закомментил
//{test: /\.js$/, loader: '6to5'}

сборка завершилась успешно

Спасибо
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #28 (permalink)  
Старый 21.01.2015, 15:18
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Отложил в сторону webpack, поставил browserify, собрал bundle.js.

Мне просто нужен глобальный синхронный (на первое время) require. Насколько я понимаю, require доступен только внутри bundle. Как его вытащить наружу и возможно ли это?

<script src="/js/bootstrap.js"></script>

<script>
    <!-- тут ошибка require is undefined -->
    require('/js/native/plugins/core.js');
</script>


Спасибо.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #29 (permalink)  
Старый 21.01.2015, 16:40
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от nerv_
ERROR in Entry module not found: Error: Cannot resolve module 'script' in %PATH%
`script-loader` установлен?
Gozar, уже в теме
Сообщение от nerv_
Gozar, ага, я тоже на это думал. Но, поскольку в данный момент я запускаю веб-пак без необходимости конвертации из es6 в es5, то, как я думал, в моем случае загрузчик должен быть другим (обычным).
тогда можно его вообще вырубить (загрузчик на js файлы)
Сообщение от nerv_
Мне просто нужен глобальный синхронный (на первое время) require. Насколько я понимаю, require доступен только внутри bundle. Как его вытащить наружу и возможно ли это?
шото странное ты делаешь
Ответить с цитированием
  #30 (permalink)  
Старый 21.01.2015, 16:53
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от melky
Gozar, уже в теме


nerv_,
Не спеши, разложи в голове по полочкам.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
Ответ



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

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