mosaaaico
30 Mar 2016Windows
Pré-requisitos
git
Em vez do git-bash
, recomendo o terminal cmder. Baixe a versão full e descompacte em algum diretório no disco rígido (diretamente em C:\cmder
é uma boa pedida!)
node
Da mesma forma que o Java
precisa da JRE; o C#
, do .Net CLR; e o python
do CPython; o javascript
também exige um runtime: o Node.js.
A instalação é bem simples: baixe a versão stable adequada a sua arquitetura (32 ou 64 bits) em https://nodejs.org/en/download/stable/.
npm
O npm
é o gerenciador de pacotes do Node
. É instalado automaticamente junto com o runtime.
Assim como qualquer outro gerenciador de pacotes, é lento. Se o Maven
baixa metade da internet, não se preocupe: o npm
vai baixar a outra.
Se preferir, utilize como registro uma instância do local-npm disponível em http://mp1522:5080
:
npm set registry http://mp1522:5080
Para reverter:
npm set registry https://registry.npmjs.org
Proxy
Você tá atrás de um proxy? Cara, que azar.
Só tem uma coisa pior que estar atrás de um proxy: estar atrás de um proxy autenticado.
😭
É a vida.
Execute (win + R) SystemPropertiesAdvanced
. Em Variáveis de Sistema, adicione as variáveis de sistema HTTP_PROXY e HTTPS_PROXY.
Se o teu proxy é autenticado, ele precisa estar na forma http://user:password@server:port
. Mas calma, talvez você não precise colocar a sua senha ali. Veja se existe alguma conta de desenvolvimento disponível.
Ah, a vantagem de utilizar uma instância do local-npm como registro, é que esse passo pode ser desconsiderado.
grunt e yo
O grunt
é uma ferramenta de build. É como se fosse um make
, um ant
, um rake
ou as recipes do buildout
.
Já o yo
(Yeoman) é um gerador de projetos. Ele monta a estrutura de arquivos e diretórios de acordo com um template. É análogo aos archetypes do Maven
ou o paster
do python.
Para instalar o grunt
, o yo
e o template do mosaaaico
, execute:
npm -g install yo grunt-cli generator-mosaaaico
crie um novo projeto
mkdir meu_projeto_novo
cd meu_projeto_novo
yo mosaaaico
Feito. A seguinte estrutura será gerada:
.
├── app
│ ├── assets
│ │ └── logo.svg
│ ├── index.jade
│ ├── less
│ │ ├── main.less
│ │ ├── utils
│ │ │ └── variables.less
│ │ └── vendors
│ │ ├── bootstrap.less
│ │ └── senado.less
│ ├── scripts
│ │ └── main.js
│ └── senado.jade
├── grunt
│ ├── aliases.yaml
│ ├── autoprefixer.js
│ ├── clean.js
│ ├── concurrent.js
│ ├── connect.js
│ ├── copy.js
│ ├── cssmin.js
│ ├── jade.js
│ ├── less.js
│ └── watch.js
├── Gruntfile.js
└── package.json
Para rodar o servidor embutido, execute no diretório grunt dev
. A porta escolhida por padrão é a 8000. Se precisar alterar, passe o argumento --port=
.
A interface utilizada é a 127.0.0.1. Se precisar liberar acesso externo, passe o argumento --allow-remote
.
grunt dev --port=9090 --allow-remote