21.01.2015, 00:35
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
melky, я пытаюсь понять, как это работает
Мне от него нужен bundle, насколько я понимаю, чтобы юзать в браузере. Как его получить?
Я понимаю так, что мне нужно указать все файлы, которые будут в пакете (bundle) и это указывается в хэше entry.
Или я заблуждаюсь?
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Последний раз редактировалось nerv_, 21.01.2015 в 00:41.
|
|
21.01.2015, 00:45
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
Сообщение от nerv_
|
melky, я пытаюсь понять, как это работает
Мне от него нужен bundle, насколько я понимаю, чтобы юзать в браузере. Как его получить?
Я понимаю так, что мне нужно указать все файлы, которые будут в пакете (bundle) и это указывается в хэше entry.
Или я заблуждаюсь?
|
entry - входная точка
ниже - дерево модулей
кружок - начало; входная точка, т.е. entry
параллелограммы - модули вызываются внутри entry файла ( вызов - это require('jquery') )
трапеции - модули цепляются из "параллелограммов"
как работает ? хм... ну он парсит указанные entry файлы на предмет вызова модулей, а затем рекурсивно парсит вызываемые модули на предмет вызова модулей
|
|
21.01.2015, 00:59
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
melky, ну, пока он ничего не парсит, а шлет меня на х*й в течении последних двух часов
https://yadi.sk/i/BP-I6HNAe8GTJ
Чувствую, что буду пробовать browserify)))
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
21.01.2015, 01:04
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
попробуй указать относительный путь к entry (т.е. относительно файла webpack.config.js)
конкретно в твоем случае это "./httpdocs/js/project.js" (вроде бы)
P.S. непрошенный совет resolve.extensions лучше не правь - это для advanced юзеров ) на скрине вижу, ты забыл про index.js (пустая строка). см доку
Сообщение от nerv_
|
Чувствую, что буду пробовать browserify)))
|
перебежчик
Последний раз редактировалось melky, 21.01.2015 в 01:07.
|
|
21.01.2015, 11:48
|
|
junior
|
|
Регистрация: 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
|
перебежчик
|
не, я был бы им, если использовал веб-пак. Мне его даже запустить не удалось)
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
21.01.2015, 14:13
|
|
猫
|
|
Регистрация: 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.
|
|
21.01.2015, 14:26
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
Gozar, ага, я тоже на это думал. Но, поскольку в данный момент я запускаю веб-пак без необходимости конвертации из es6 в es5, то, как я думал, в моем случае загрузчик должен быть другим (обычным).
Закомментил
//{test: /\.js$/, loader: '6to5'}
сборка завершилась успешно
Спасибо
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
21.01.2015, 15:18
|
|
junior
|
|
Регистрация: 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>
Спасибо.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
21.01.2015, 16:40
|
sinistral
|
|
Регистрация: 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. Как его вытащить наружу и возможно ли это?
|
шото странное ты делаешь
|
|
21.01.2015, 16:53
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
Сообщение от melky
|
Gozar, уже в теме
|
nerv_,
Не спеши, разложи в голове по полочкам.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
|
|