Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Snakeskin (https://javascript.ru/forum/project/35057-snakeskin.html)

Gozar 05.02.2015 13:25

Цитата:

Сообщение от kobezzza
После этого всё должно заработать.

и ничего не изменилось.

Gozar 05.02.2015 13:26

Цитата:

Сообщение от kobezzza
UPD: эврика, только сейчас обратил внимание на "preferGlobal": true, похоже именно этот параметр форсирует обязательное добавление в PATH в лине, сейчас попробую заюзать его

5 раз пробовал. Залей на git а то пересборка не помогает. Удалю и попробую поставить заново, может подхватит.

melky 05.02.2015 13:28

Цитата:

Сообщение от kobezzza (Сообщение 355119)
Фух, в общем тщательно покурив СтекОверфлоу я решил оставить PATH как есть, а у тех, у кого проблема делать:

ls -s /usr/bin/nodejs /usr/bin/node


Хз почему так лучше, но все так рекомендуют.

После этой операции snakeskin стал доступен как PATH переменная в консоли.

Полный листинг команд:

sudo apt-get install nodejs
ls -s /usr/bin/nodejs /usr/bin/node
sudo apt-get install npm
sudo npm install -g snakeskin


Также выкатил релиз с исправлением относительных путей в compileFile.

Код:

sudo apt-get install nodejs-legacy
тогда будет нужный бинарник (node)

для управления версиями node (обновление и т.д) ставится либо nvm либо n

вы меня заинтересовали! тоже подключусь к решению)

Gozar 05.02.2015 13:35

Кстати хотел спросить почему ф-ия собирает html через инкремент:
__RESULT__ +=


а не через массив с join:
__RESULT__.push();
__RESULT__.join('');

?

У себя инкремент на строки я видел года 3 назад, вот и интересно стало.

kobezzza 05.02.2015 13:35

Цитата:

sudo apt-get install nodejs-legacy
После этого у меня завёлся 6to5, отлично, значит проблему неверного биндинга можно отбросить, осталась проблема неверной установки глобального модуля.

Сейчас пересоберу пакет с preferGlobals, прям чувствую, что собака там зарыта.

kobezzza 05.02.2015 13:37

Цитата:

Кстати хотел спросить почему ф-ия собирает html через инкремент:
Потому что инкремент во всех современных VM работает значительно быстрее, НО SS умеет и через StringBuffer работать (по умолчанию используется массив).

https://github.com/kobezzza/Snakeski...ile#rendermode

melky 05.02.2015 13:38

Цитата:

Сообщение от kobezzza (Сообщение 355152)
После этого у меня завёлся 6to5, отлично, значит проблему неверного биндинга можно отбросить, осталась проблема неверной установки глобального модуля.

Сейчас пересоберу пакет с preferGlobals, прям чувствую, что собака там зарыта.

kobezzza, вряд ли https://docs.npmjs.com/files/package.json#preferglobal. я так понял, это только сообщение будет выводиться

сейчас так:
Код:

root@4ce0735a160c:/# npm i -g snakeskin
/root/.nvm/v0.11.16/bin/snakeskin -> /root/.nvm/v0.11.16/lib/node_modules/snakeskin/bin/snakeskin.js
snakeskin@6.5.24 /root/.nvm/v0.11.16/lib/node_modules/snakeskin
├── commander@2.6.0
├── js-beautify@1.5.4 (nopt@3.0.1, mkdirp@0.5.0, config-chain@1.1.8)
├── glob@4.3.5 (inherits@2.0.1, inflight@1.0.4, once@1.3.1, minimatch@2.0.1)
└── monocle@1.1.51 (readdirp@0.2.5)
root@4ce0735a160c:/# snakeskin
: No such file or directory
root@4ce0735a160c:/# grep version ~/.nvm/v0.11.16/lib/node_modules/snakeskin/package.json
  "version": "6.5.24",


melky 05.02.2015 13:43

А вот так работает:
Код:

root@4ce0735a160c:/# export SS=/root/.nvm/v0.11.16/lib/node_modules/snakeskin/bin/snakeskin.js
root@4ce0735a160c:/# node $SS --help

  Usage: snakeskin [options] [dir|file ...]

  Options:

    -h, --help              output usage information
    -V, --version            output the version number
    -p, --params [src]      path to the options file or options object
    -s, --source [src]      path to the template file or directory
    -f, --file [src]        path to the template file (meta-information)
    -m, --mask [mask]        mask for a template files (RegExp)
    -w, --watch              watch files for changes and automatically re-render
    -o, --output [src]      path to the file to save
    --extname [ext]          file extension for saving (if "output" is a directory)
    --exports [type]        export type
    -e, --exec              execute compiled template
    -d, --data [src]        path to the data file or data object
    -t, --tpl [name]        name of the main template
    --disable-localization  disable support for localization
    --i18n-fn [name]        i18n function name
    --language [src]        path to the localization file or localization object
    --words [src]            path to the localization file to save
    --disable-use-strict    disable 'use strict'; mode
    --bem-filter [name]      bem filter name
    --line-separator [char]  newline character (eol)
    --tolerate-whitespace    tolerate whitespace characters in the template
    --ignore                regular expression to ignore the empty space
    --auto-replace          enable macros support
    --macros [src]          path to the macros file or JS macros object
    --doctype [type]        xml doctype ("html" or "xml")
    --inline-iterators      inline forEach and forIn
    --disable-escape-output  disable default "html" filter
    --disable-replace-undef  disable default "undef" filter
    --render-as [mode]      render all templates as "interface" or "placeholder"
    --render-mode [mode]    render all templates in "stringConcat", "stringBuffer" or "dom"
    --pretty-print          formatting output

root@4ce0735a160c:/#


kobezzza 05.02.2015 13:48

Пересобрал релиз, залил в NPM

melky 05.02.2015 13:51

Цитата:

Сообщение от kobezzza (Сообщение 355158)
Пересобрал релиз, залил в NPM

Код:

root@4ce0735a160c:/# npm i -g snakeskin
/root/.nvm/v0.11.16/bin/snakeskin -> /root/.nvm/v0.11.16/lib/node_modules/snakeskin/bin/snakeskin.js
snakeskin@6.5.25 /root/.nvm/v0.11.16/lib/node_modules/snakeskin
├── commander@2.6.0
├── glob@4.3.5 (inherits@2.0.1, once@1.3.1, inflight@1.0.4, minimatch@2.0.1)
├── js-beautify@1.5.4 (nopt@3.0.1, config-chain@1.1.8, mkdirp@0.5.0)
└── monocle@1.1.51 (readdirp@0.2.5)
root@4ce0735a160c:/# snakeskin --help
: No such file or directory

что за хрень... сама нода нормально определяется
Код:

root@4ce0735a160c:/# /usr/bin/env node --version
v0.11.16



Часовой пояс GMT +3, время: 16:07.