Al crear un nuevo proyecto con CLI (v3.7.0), hay una opción para elegir entre dart-sass
o node-sass
compilador.
¿Cómo se comparan estos entre sí, para ser más específicos de lo declarado en los documentos de Vue ?
Un consejo sobre el rendimiento sass
Tenga en cuenta que al utilizar Dart Sass, la compilación sincrónica es dos veces más rápida que la compilación asincrónica de forma predeterminada, debido a la sobrecarga de las devoluciones de llamada asincrónicas. Para evitar esta sobrecarga, puede utilizar el paquete de fibras para llamar a importadores asíncronos desde la ruta del código síncrono. Para habilitar esto, simplemente instale fibras como una dependencia del proyecto:
npm install -D fibers
También tenga en cuenta que, como es un módulo nativo, puede haber problemas de compatibilidad que varían según el sistema operativo y el entorno de compilación. En ese caso, ejecute
npm uninstall -D fibers
para solucionar el problema.
? Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported by default): (Use arrow keys)
❯ Sass/SCSS (with dart-sass)
Sass/SCSS (with node-sass)
Less
Stylus
EDITAR 2020/01: Vue CLI 4.2.2 crear un nuevo proyecto todavía se sugiere dart-sass
como la primera opción anterior node-sass
. Sin embargo, se ha establecido aquí que node-sass
es la opción más performativa y casi nadie usa dart-sass (comentario de ccleve).
EDITAR 2020/09: Como Ali Bahrami actualizó su extensa respuesta, dart-sass
es la opción preferida ya que node-sass
se marca como obsoleta .
Lástima dart-sass
que es una versión compilada por JS que tiene un rendimiento deficiente. Sin embargo, sus desarrolladores son muy conscientes de esto y están trabajando para lograr un mayor rendimiento como se indica en este número .
Respuestas:
Actualización 17/09/2020 :
Como esta respuesta recibe votos a favor todos los días, pensé que tal vez valía la pena profundizar en este tema.
Considerando el sitio web de sass-lang :
Dart-Sass es rápido, pero no la versión compilada de JS . Prácticamente cuando decimos Dart-Sass hay dos opciones:
Compilé el archivo Bootstrap 4 Sass en CSS con Node-Sass, Dart-Sass y Dart-Sass (JS) y puede ver el siguiente resultado:
Me escribió en su blog acerca de ello aquí, se puede leer más sobre esto aquí.
fuente
dart-sass
es más rápido?node-sass puede ser más rápido que dart-sass, pero al momento de escribir este dart-sass es la única biblioteca que implementa la
@use
regla, que se recomienda encarecidamente@import
. Según el sitio web oficial de sass-lang :Además,
@import
se eliminará gradualmente durante los próximos años y, finalmente, se eliminará del idioma por completo.Para mantenerse actualizado con las mejores prácticas en Sass, debe usar dart-sass (es decir, sass ) por ahora.
fuente
@use
en este punto, parece que esto podría mejorar drásticamente los tiempos de reconstrucción con compilaciones incrementales mientras se realiza el desarrollo :)