Sou novo no Angular e venho da comunidade Ember. Tentando usar o novo Angular-CLI baseado fora do Ember-CLI.
Preciso saber a melhor maneira de lidar com o SASS em um novo projeto Angular. Tentei usar o ember-cli-sass
repositório para ver se ele funcionaria, pois vários componentes principais da Angular-CLI são executados nos módulos Ember-CLI.
Não funcionou, mas, novamente, não tenho certeza se eu apenas configurou algo errado.
Além disso, qual é a melhor maneira de organizar estilos em um novo projeto Angular? Seria bom ter o arquivo sass na mesma pasta que o componente.
angular
sass
angular-cli
JDillon522
fonte
fonte
Respostas:
Outras soluções e explicações possíveis:
Para criar um novo projeto com CLI angular com suporte sass, tente o seguinte:
Você também pode usar
--style=sass
e, se não souber a diferença, leia este pequeno e fácil artigo e, se ainda não souber, continuescss
e continue aprendendo.Se você possui um projeto angular 5, use este comando para atualizar a configuração do seu projeto.
Para as versões mais recentes
Para que o Angular 6 defina um novo estilo no projeto existente com a CLI:
Ou Diretamente no angular.json:
fonte
ng set defaults.styleExt scss
style
propriedade parascss
in.angular-cli.json
ng set defaults.styleExt scss --global
ng config schematics.@schematics/angular:component.styleext scss
Atualização para Angular 6+
Novos projetos
Ao gerar um novo projeto com a Angular CLI, especifique o pré-processador css como
Usar sintaxe SCSS
Usar sintaxe SASS
Atualizando projeto existente
Defina o estilo padrão em um projeto existente executando
Usar sintaxe SCSS
Usar sintaxe SASS
O comando acima atualizará seu arquivo da área de trabalho (angular.json) com
onde
styleext
pode ser umscss
ou desass
acordo com a escolha.Resposta original (para Angular <6)
Novos projetos
Para novos projetos, podemos definir as opções
--style=sass
ou de--style=scss
acordo com o sabor desejado SASS / SCSSUsar sintaxe SASS
Usar sintaxe SCSS
então instale
node-sass
,Atualizando Projetos Existentes
Para
angular-cli
compilar arquivos sassnode-sass
, eu tive que executar,que instala
node-sass
. Entãopara sintaxe SASS
para sintaxe SCSS
para definir o styleExt padrão como sass
(ou)
alterar
styleExt
parasass
ouscss
para a sintaxe desejada em.angular-cli.json
,para sintaxe SASS
para sintaxe SCSS
Embora tenha gerado erros de compilador.
que foi corrigido alterando as linhas de
.angular-cli.json
,para qualquer um
para sintaxe SASS
para sintaxe SCSS
fonte
angular-cli.json
é realmente.angular-cli.json
. Depois que percebi isso, editei e isso está funcionando perfeitamente. Obrigado.angular-cli.json
foi nomeado foi alterado.angular-cli.json
recentemente como um arquivo oculto ( ) ( ) (rc2). Fixo..css
arquivo existente, talvez seja necessário fechá-lo e reabri-lo em seu editor para que ele reconheça adequadamente a sintaxe sass. Isso é verdade mesmo com o mais recente Visual Studio,Citado do repositório de funcionários do github aqui -
Veja aqui
fonte
Diga ao angular-cli para sempre usar o scss por padrão
Para evitar a aprovação
--style scss
sempre que você gera um projeto, convém ajustar sua configuração padrão do angular-cli globalmente, com o seguinte comando:Observe que algumas versões do angular-cli contêm um erro ao ler a flag global acima ( consulte o link ). Se sua versão contiver esse bug, gere seu projeto com:
fonte
--style=scss
Como Mertcan disse, a melhor maneira de usar o scss é criar o projeto com essa opção:
O Angular-cli também adiciona uma opção para alterar o pré-processador css padrão após a criação do projeto, usando o comando:
Para mais informações, você pode procurar aqui a documentação deles:
https://github.com/angular/angular-cli
fonte
ng set
parece não funcionar nas configurações daapps
matriz. Por exemplo.ng set apps.prefix blah
lança um "token inesperado b no JSON na posição 0".Percebi uma pegadinha muito chata ao mudar para arquivos scss !!! É preciso passar de um simples:
styleUrls: ['app.component.scss']
parastyleUrls: ['./app.component.scss']
(adicionar./
) emapp.component.ts
O que ng ocorre quando você gera um novo projeto, mas aparentemente não quando o projeto padrão é criado. Se você vir a resolver erros durante a construção do ng, verifique esse problema. Levei apenas ~ 1 hora.
fonte
Melhor poderia ser
ng new myApp --style=scss
O Angular CLI criará qualquer novo componente com o scss para você ...
Observe que o uso de
scss
não funcionar no navegador como você provavelmente já sabe .. portanto, precisamos de algo para compilá-lo ecss
, por esse motivo, podemos usá-node-sass
lo, como abaixo:e você deve estar pronto!
Se você estiver usando o webpack, leia aqui:
do iniciador angular aqui .
fonte
ng set --global defaults.styleExt=scss
está obsoleto desde ng6. Você receberá esta mensagem:Você deveria usar:
Se você deseja direcionar um projeto específico (substitua {project} pelo nome do seu projeto):
fonte
Angular-CLI é o método recomendado e é o padrão na comunidade Angular 2+.
Crete um novo projeto com o SCSS
ng new My-New-Project --style=sass
Converter um projeto existente (CLI menor que v6)
ng set defaults.styleExt scss
(deve renomear todos os arquivos .css manualmente com essa abordagem, não se esqueça de renomear nos arquivos componentes)
Converter um projeto existente (CLI maior que v6)
"@schematics/angular:component": { "styleext": "sass" }
fonte
Para o Angular 9.0 e superior, atualize o
"schematics":{}
objeto no arquivo angular.json assim:fonte
style
agoraO seguinte deve funcionar em um projeto angular da CLI 6. Ou seja, se você estiver recebendo:
Então ( certifique-se de alterar o nome do projeto )
Para obter o nome do projeto padrão, use:
No entanto: se você migrou seu projeto de <6 para 6 angulares, há uma boa chance de que a configuração não esteja lá. Nesse caso, você pode obter:
Portanto
angular.json
, será necessária uma edição manual de .Você vai querer algo parecido com este (anotando a propriedade styleex):
Parece um esquema excessivamente complexo para mim. ¯_ (ツ) _ / ¯
Agora você terá que mudar todos os seus arquivos css / less para serem scss e atualizar todas as referências nos componentes, etc., mas você deve estar pronto.
fonte
A partir de 10/03/2019, Anguar deixou de apoiar o sass. Não importa qual opção você passou ao
--style
executarng new
, você sempre.scss
gera arquivos. É uma pena que o apoio sass tenha sido descartado sem nenhuma explicação.fonte
npm install -g @angular/[email protected]
Defina como Padrão Global
ng set defaults.styleExt=scss --global
fonte
Integração com pré-processador CSS O Angular CLI suporta todos os principais pré-processadores CSS:
Para usar esses pré-processadores, basta adicionar o arquivo ao styleUrls do seu componente:
Ao gerar um novo projeto, você também pode definir qual extensão deseja para os arquivos de estilo:
Ou defina o estilo padrão em um projeto existente:
note: @ schematics / angular é o esquema padrão da CLI angular
As seqüências de estilos adicionadas à matriz @ Component.styles devem ser escritas em CSS porque a CLI não pode aplicar um pré-processador aos estilos embutidos.
Com base na documentação angular https://github.com/angular/angular-cli/wiki/stories-css-preprocessors
fonte
Eu tentei atualizar meu projeto para usar o sass usando este comando
mas entendi
Então eu apaguei meu projeto (como estava começando e não tinha código no meu projeto) e criei um novo com o sass inicialmente definido
Mas eu apreciaria se alguém pudesse compartilhar uma maneira de atualizar o projeto existente, pois isso seria bom.
fonte
Passo 1. Instale o pacote bulma usando o npm
Passo 2. Abra angular.json e atualize o código a seguir
É isso aí.
Para expor facilmente as ferramentas da Bulma, adicione stylePreprocessorOptions ao angular.json.
BULMA + ANGULAR 6
fonte