Anton
а примеров настройки нет случайно?
Anonymous
Но работает там, где код правильно организован
Anton
например тот пример, что у них на сайте с parcel watch index.html тупо не работает
Андрей
@parcel_ru
Anonymous
Андрей
Вот. Я думаю, что лучше там спросить.
Anton
ну index.html включает как раз этот js-файл, т.е. всё как у них в примере на сайте
Anton
только не работает нихрена )
Anonymous
только не работает нихрена )
Опиши последовательность своих действий, расположение твоего index.html и modulename.js, строку с подключением modulename.js
Anton
Файлы вот так лежат:
package.json
webpack.config.js
index.html
src/index.js
src/otherfile.js
dist/modulename.min.js
dist/index.html
В package.json прописано:
...
"main": "dist/modulename.min.js",
"scripts": {
"lint": "eslint src",
"build": "cross-env WEBPACK_ENV=prod && npm run v:patch && webpack",
"v:patch": "npm version —no-git-tag-version patch",
"start": "cross-env WEBPACK_ENV=dev ./node_modules/.bin/webpack-dev-server —progress —colors"
},
...
Anton
конфиг webpack-а
Anonymous
Это все хорошо, интересно
Anonymous
Но не это я просил
Anton
строка с подключением modulename в index.html:
<script src="dist/modulename.min.js"></script>
Anton
в dist modulename.min.js и index.html появляются автоматом при сборке webpack-ом
Anton
пробую запускать: parcel watch index.html, например
Anonymous
Подожди секунду, я тебя перебью
Anton
я закончил :)
Anonymous
Anton
поправил на <script src="./dist/modulename.min.js"></script> - ничего не поменялось
Anton
в dist/ файл index.html не обновился кстати
Anton
видимо надо чтобы в index.html были явно подключены все js-скрипты, которые есть в src?
Anton
т.е. о том, что там делает webpack parcel вообще не в курсе
Anonymous
Повторю
Anonymous
Вебпак в webdev не сохраняет файлы на диск
Anonymous
Только в ОЗУ
Anton
npm run build вполне себе сохраняет файлы в dist/
Anton
только вот мне надо чтобы он автоматом при изменении какого-нибудь файла из src/ это делал
Anton
ты мне посоветовал parcel вместо webpack использовать для этого :)
Anton
Anonymous
Anton
вот здесь вот например https://www.valentinog.com/blog/tutorial-react-parcel-bundler/:
Also with webpack the resulting bundle will be placed automagically inside a <script></script>tag.
Parcel works the other way around: the source HTML must include a <script></script>tag with a reference to the Javascript bundle.
Anonymous
А для сборки твоих модулей
Anton
я всё это и пишу про сборку одного модуля
Anton
который подключен npm link-ом к основному
Anton
в общем, похоже чтобы собирать модули parcel-ом надо их переделать все, добавить index.html со ссылками на все js-файлы, иначе работать не будет...
Anonymous
Anton
а как? похоже, что собрать src/* в один dist/modulename.min.js parcel не умеет
Anonymous
Все твои файлы в модули должны быть связаны
Anonymous
Я еще раз это повторю
Anonymous
Модуле*
Anton
ну понятно, что в index.html надо вставить только .js-файлы, которые не включаются в других .js файлах
Anton
от этого не сильно легче :)
Anonymous
Anonymous
С ES6 знаком же?
Anton
да, тут на ES6 всё
Anonymous
Хорошо
Anonymous
Про module.exports или export default, слышал?
Anton
export default прописан как раз во всех .js-файлах
Anonymous
Так
Anonymous
А весь импорт, в каком файле находится?
Anton
он находится в другом модуле :)
Anonymous
Ну а что ты собрался собирать?
Anonymous
Если у тебя нет импортов, от слова вообще
Anton
только экспорты, т.к. модули используются в одном главном модуле
Anton
webpack прекрасно их собирает
Anonymous
Конкатенирует
Anonymous
Потому что принцип сборки у них примерно одинаковый
Anonymous
Так нельзя модули писать
Anonymous
Это ужасный паттерн
Anonymous
А потом от этого ничего и не работает
Anton
а как правильно? если мне надо экспортировать функции из модуля
Anonymous
Правильно, что каждый модуль должен иметь сущность
Anonymous
И изолированную целостность
Anonymous
А не набор сниппетов из которых импортом нужный сниппет цепляешь
Anton
т.е. то, что модуль экспортирует функции - это неправильно? что он тогда вообще может экспортировать? :)
Anonymous
Нет
Anonymous
Каждый модуль должен иметь файл, с инициализацией модуля и всей его структурой
Anonymous
То что ты сделал, это не модуль, а библиотека сниппетов
Anton
Anton
если он ничего не экспортирует
Anonymous
Anton
подключать типа через require?
Anonymous
Как это он ничего не экспортирует
Anonymous
С тобой все хорошо?
Anonymous
От праздников отошел?