Eu li a documentação , que diz que, se eu quiser usar scss
, tenho que executar o seguinte comando:
ng set defaults.styleExt scss
Mas quando faço isso e faço esse arquivo, ainda recebo este erro no meu console:
styles.bundle.js:33Uncaught Error: Module build failed: Error: ENOENT: no such file or directory, open '/Users/Egen/Code/angular/src/styles.css'(…)
git diff
vai ver o que mudou.ng new whatever --style=scss
como mostrado nos documentos . Não siga as instruções para configurar um projeto existente, se não é isso que você está fazendo!Respostas:
Para Angular 6, verifique o documentação oficial
Nota: Para
@angular/cli
versões anteriores ao6.0.0-beta.6
usong set
no lugar deng config
.Para projetos existentes
Em um projeto angular-cli existente configurado com os
css
estilos padrão, você precisará fazer algumas coisas:scss
se você receber um erro:
Value cannot be found.
use o comando:(* fonte: opções Angular CLI SASS )
Renomeie seus
.css
arquivos existentes para.scss
(por exemplo, styles.css e app / app.component.css)Aponte a CLI para encontrar styles.scss
Para projetos futuros
Como o @Serginho mencionou, você pode definir a extensão do estilo ao executar o
ng new
comandoSe você deseja definir o padrão para todos os projetos criados no futuro, execute o seguinte comando:
fonte
css
parascss
in.angular-cli.json
criará automaticamente arquivos scss para cada novo componente gerado no futuro.ng config schematics.@schematics/angular:component.styleext scss
como dito por @ hamilton.limaA partir do ng6, isso pode ser realizado com o seguinte código adicionado
angular.json
no nível raiz:Alterar manualmente em
.angular.json
:fonte
schematics
não tenho no nível raiz, mas aninhei dentro do meu projeto emangular.json
. Devo ignorar isso e adicionar isso no nível raiz?schematics
agora também está aninhado.Abrir arquivo angular.json
1. mude de
"schematics": {}
para
"src/styles.css"
para
"src/styles.scss"
verifique e renomeie todos os
.css
arquivos e atualize os arquivos component.ts styleUrls de.css to .scss
fonte
ng config schematics.@schematics/angular:component.styleext scss
conforme especificado na documentação oficial: github.com/angular/angular-cli/wiki/stories-css-preprocessorsPara Angular 6,
note: @ schematics / angular é o esquema padrão da CLI angular
fonte
Integração de pré-processador CSS para CLI Angular: 6.0.3
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:
Documentação angular da CLI para todos os principais pré-processadores CSS
fonte
Invalid JSON character: "s" at 0:0.
ng config
(como acima) é o melhor método, mas você ainda precisa renomear*.css
arquivos para*.scss
e substituir referências noangular.json
parastyle.css
comstyle.scss
e atualizar todas as referências de arquivos componentes emstyleUrls
propriedade para os novos nomes. ... então funciona muito bem!Para projetos existentes :
No
angular.json
arquivoEm
build
parte e emtest
parte, substitua:"styles": ["src/styles.css"],
de"styles": ["src/styles.scss"],
Substituir:
"schematics": {},
de"schematics": { "@schematics/angular:component": { "style": "scss" } },
No seu projeto, renomeie seus
.css
arquivos para.scss
Para um novo projeto , este comando faz todo o trabalho:
Para configuração global
Novas versões parecem não ter um comando global
fonte
Use o comando:
fonte
No ng6, você precisa usar este comando, de acordo com um post semelhante :
fonte
Para usuários das extensões Nrwl que se deparam com este segmento: todos os comandos são interceptados pelo Nx (por exemplo,
ng generate component myCompent
) e depois transmitidos para o AngularCLI.O comando para fazer o SCSS funcionar em um espaço de trabalho do Nx:
ng config schematics.@nrwl/schematics:component.styleext scss
fonte
Uma mudança de força bruta pode ser aplicada. Isso funcionará para mudar, mas é um processo mais longo.
Vá para a pasta do aplicativo src / app
Abra este arquivo: app.component.ts
Mude este código
styleUrls: ['./app.component.css']
parastyleUrls: ['./app.component.scss']
Salvar e fechar.
Na mesma pasta src / app
Renomeie a extensão do arquivo app.component.css para (app.component.scss)
Siga esta alteração para todos os outros componentes. (por exemplo, casa, sobre, contato etc.)
O arquivo de configuração angular.json é o próximo. Está localizado na raiz do projeto.
Pesquise e substitua o css altere-o para (scss) .
Salvar e fechar.
Por fim, reinicie o seu
ng serve -o
.Se o compilador reclamar com você, repita as etapas novamente.
Certifique-se de seguir as etapas no app / src de perto.
fonte
Na versão mais recente do Angular (v9), o código abaixo precisa adicionar
angular.json
Pode ser adicionado usando o seguinte comando:
fonte