How To Install Node Sass On Windows 10
What is a CSS preprocessor?
A CSS preprocessor is essentially a scripting language that volition turn CSS code with minor syntax variations into regular CSS3. In the case of Sass, this is a script that has originally been written in Ruby, although in that location are ports available using other languages such every bit JavaScript, via Node.js.
How to get started with Sass
At that place are many different options for using Sass. On the command line, there are the options of using the original Reddish jewel, the Node.js port, or using chore runners such equally Gulp or Grunt. If y'all'd prefer to utilize a GUI, several recommendations include Compass, CodeKit, or Hammer.
What all of these programs exercise is accept the Sass code from one stylesheet (a .sass
or .scss
file), and then compile it into a regular .css
file. There are pros and cons to each options, but if you lot are uncertain of where to go started, i of the GUI programs would be a good place to start.
Variables
One of the most useful features of Sass is the ability to create variables. Merely like any other proper programming language, y'all tin assign values to variables to remember any time you apply it. Variables in Sass are written with a $
sign before the proper noun, for example:
$mainColor: #dbcbb4;
This is useful for at to the lowest degree ii reasons: 1. Any time you want to re-employ the same colour or other value, you simply demand to re-utilize the variable, never having to remember common styles. 2. If you ever need to modify the value for multiple selectors, all you take to do is change the ane value in the variable.
Nesting
Another useful feature of Sass is the ability to nest declarations into each other. This tin be useful to prove how different declarations relate to each other. As an case, instead of having to write:
.container { width: 800px; } .container h1 { font-size: 40px; }
You can just write:
.container { width: 800px; h1 { font-size: 40px; } }
Functions
Sass has many congenital-in functions, which allow for bodily manipulation of CSS code. Here are only a few examples:
Mix two colors together:
mix($primarycolor, $secondcolor)
Make a colour darker (where $amount
is a value of how much to darken it by):
darken($color, $amount)
Math
Another handy feature is the ability to apply math expressions to your markup. Yous tin can use all of the operators typically supported in programming languages: addition, subtraction, division, multiplication, modulo, equality and inequality.
One thing to annotation is that you can't mix value units. So while the following is valid:
$menu-height: 100% - 20%;
The following would not be possible:
$card-height: 100% - 40px;
Some common utilize cases of Sass
In an earlier post, we covered getting set up with Sass and being able to convert your files to standard CSS. In this post we'll cover some of the most mutual techniques for getting the most out of Sass — making a diversity of style rules significantly easier to write.
Mixins
With varying levels of browser back up for different CSS properties, information technology's mutual to have to provide different vendor prefixes to properties, in club to ensure cross-browser compatibility (especially when support for Internet Explorer is necessary):
p { -webkit-transform: scale(2); -ms-transform: scale(2); transform: scale(2); }
This tin be a hurting to take to practice repeatedly for each belongings with varying levels of back up. Using a Sass Mixin can simplify the process whenever having to repeat large sections of code.
Using the code for the transform
property higher up as an example, we can easily turn this into a reusable mixin whenever we want to use a transform: scale()
dominion:
@mixin transform-scale($x) { -webkit-transform: scale($x); -ms-transform: scale($x); transform: scale($x); }
With the mixin above, we define the amount we want to scale each transform
with the $x
argument. This mixin can and then be used in any Sass code block, by using the @include
statement beforehand:
p { @include transform-calibration(2); }
For Loops
Similar to programming languages such as JavaScript, PHP or Python, Sass allows y'all to create a for
loop, to iterate over a defined number of times. Defined using the @for
keyword, the length of Sass for loops tin can exist indicated in ii different ways: "x through y" or "x to y", where x is the starting point and y is the finish point. When defining the loop with through
, the loop will include the stop value (so for example, i through 10
would include 10 in the loop), whereas using to
would take the loop get up to merely non including the finish value (i.e. one to 10
would only get from 1 to nine). Equally an example of using 1 through x
:
@for $i from one through 10 { .col-#{$i} { width: 100% / 10 * $i; } }
The @for
loop above would apply a width
calculation to x different CSS classes (each starting with .col-
followed by a number between i and ten). The loop would set a width for each CSS class, defined by 100% / 10 multiplied by the classes number (ane through 10). This would consequence in the following rule sets for each of the classes:
.col-1 { width: 10%; } .col-two { width: twenty%; } .col-3 { width: thirty%; } .col-iv { width: twoscore%; } ... .col-10 { width: 100%; }
This is a quick and easy way to define columns in a basic grid structure.
Partials
When working with Sass, it's often a good idea to organize your code into reusable sections or files based on the type of styles they apply (for example, having a file for your grid layout, another file for mixins, another for colour schemes, etc.). Sass encourages this modular workflow by using what is referred to as partials . A fractional would exist any Sass file that begins with an underscore ( _
), for example _grid.scss
. You tin can and then have a directory of all of your partials, then 1 main Sass file to import these into, such equally chief.scss
.
To import these partials into your principal file, you would simply use an @import
statement at the top of the file:
// main.scss file @import 'grid' @import 'mixins'
How to use node-sass to compile Sass files in an npm script
node-sass
is intended to be used with .scss
files rather than .sass
, the former being the more than common and popular option. to using the node-sass wrapper to compile your Sass lawmaking, straight as an npm script. Notation that
About Sass CSS Preprocessor
Sass, or Syntactically Awesome Style Sheets, is an example of a CSS preprocessor, which enables responsive spider web developers to create code in 1 language and so "translate" it into CSS. Licensed under MIT, Sass boasts its compatibility with CSS and highly feature-rich programming language, making it a perfect combination of the characteristics of a stylesheet and a estimator program. In this sense, it is a powerful tool for website developers who are familiar with programming, although anyone can larn how to operate Sass with plenty exercise. Also, at that place are two slight variations of the Sass language, the Sassy CSS (abbreviated as SCSS) and simply Sass. While Sassy CSS is much more like to CSS in terms of syntax, Sass is a improve preference for app developers who are more than concerned about convenience. The latter option omits curly brackets and semicolons and instead reads code based on indentations.
It is important to notation that almost developers and online documentation sources will use SCSS syntax because of its similarity to CSS. In add-on, you should note that web browsers exercise not read Sass or SCSS files. Therefore, y'all must convert all SCSS/Sass files into CSS before publishing your website onto the Internet. For an explanation on how to do this, delight refer to "Converting betwixt SCSS to CSS files" below.
Setting Up Sass
Install Node.js and NPM
If y'all don't already have Node.js installed, y'all tin can download the latest version on its official site. If y'all are non familiar with this term, Node.js is a pop runtime environment for Javascript. Node comes pre-packaged with npm, the official Node package managing director which gives developers admission to open up source Javascript code, and so it will be installed at the same fourth dimension. (If y'all are interested or need to install npm separately, y'all may practice at the official website for npm.) To check that npm was installed successfully, run npm -5
in your final to ostend the version of npm currently on your estimator. At the fourth dimension this blog postal service was updated, the latest version of npm released is 6.7.0.
Install node-sass
Once y'all have npm installed, it's time to install node-sass. You tin do so by running npm install -g node-sass
in your terminal to install the package globally (i.e. available across your entire organization), or run npm install node-sass
without the -g
flag to only install to your current directory.
Project setup with package.json
Assuming node-sass
is at present installed globally, it's time to make or cull a projection directory where we desire to watch our Sass files. Navigate to your project directory, and initialize the projection with a package.json
file, by running npm init
.
You'll be prompted to input a multifariousness of details on the project, such as bundle name
, version
, description
and other details. You can either make full in this info at present or merely hit Enter
for each of these prompts and make full it in later.
After cycling through each of the prompts, at that place will be a prompt to ostend the entered info (or info left blank). Hit enter over again and the parcel.json
file will be created.
Add together the node-sass
script
Open the bundle.json
file in your text editor of choice, and add the following line inside the "scripts"
object:
"scss": "node-sass --sentinel assets/scss -o assets/css"
The line above tells npm
to run a script, watching for changes to any .scss
files in the assets/scss
directory and commit those changes to respective CSS files in a assets/css
directory. You should change the paths for your directories accordingly.
Your edited package.json
file should look something like this:
{ "proper name": "sass-ex", "version": "1.0.0", "clarification": "", "principal": "index.js", "scripts": { "test": "echo \"Fault: no test specified\" && exit 1", "scss": "node-sass" -- watch assets / scss - o assets / css " }, "writer": "", "license": "ISC" }
Relieve the file and close it. Now in the root of the project directory, run npm run scss
to kickoff watching for any changes to your .scss
files.
Alternative Means of Installing Sass
It is important to note that there are various alternative methods of installing Sass. For instance, you can install Sass via paid and costless applications such as CodeKit and Sentinel-App. In addition, you can also install Sass by downloading the package from the official Github site and calculation it direct to your path.
Overview of Designing with Sass
Equally mentioned previously, Sass comes with many beneficial features that make it a powerful tool for website developers. Sass adopted these traits from basic programming language, some of which this weblog post will hash out below. For a more thorough guide of these features and how to implement them in your code, visit the official guide on the Sass website.
Variables
Just like in programming, you tin create and implement variables in Sass throughout your style sheet. This is extremely convenient because if there is a certain style you lot want to use throughout your website (for case, a type of font package, color, etc.), you tin can simply store it in a variable and use it throughout your stylesheet. Declaring a variable in Sass is especially straightforward for programmers because it is conceptually identical to Javascript. For case, if you declare $primary-colour: #525;
($variable: value;) at the beginning of your stylesheet, then you can simply input $principal-color
for any color value.
Nesting
HTML and nearly popular programming languages maintain a clean structure with the use of indentations or nesting. On the other manus, a traditional CSS stylesheet is rather one lengthy, chaotic listing of various styles. But with Sass, you can enhance the readability of your stylesheets past placing different blocks of code within other code. For instance, within of the styling of a traditional nav bar, you can nest the code for designing the placement of the list items and the fashion of the text. This visual bureaucracy of lawmaking through nesting is another reason that many developers will gravitate towards the utilise of Sass in their websites.
Importing SASS files
Equally your websites and the HTML documents become more than circuitous, this will typically outcome in a parallel growth of your CSS files. Nonetheless, creating more than styles volition somewhen clutter your stylesheets, making it difficult to maintain and write in an orderly mode. Fortunately, by using Sass, you lot can dissever upwardly your stylesheets into multiple Sass files. When you are ready to launch your website, yous tin combine the multiple SCSS files into one master stylesheet, and so link this to your HTML document through the importing feature. Unlike CSS, information technology volition only require one HTTP request to load the single Sass "master" stylesheet; in CSS, the client makes an HTTP request for each stylesheet imported. To import a stylesheet, just write keyword @import
followed past the name of the sub-stylesheet in quotation marks (@import
"stylesheet";). This is another key feature of Sass that simplifies the process of managing a website.
Using Mixins
Most people with programming experience are familiar with writing functions or methods in their programs; however, traditional CSS files do not support this characteristic. Fortunately, Sass allows developers to write mixins, or a group of CSS declarations that are grouped together and tin be used repetitively anywhere on your stylesheet. A mixin is substantially the equivalent to a function; it can take an input value and plug it into the CSS declarations grouped within the mixin. To create a mixin, simply write @mixin mixinName(value)
followed by the CSS declarations that employ the inputted value. To call on this mixin in your stylesheet, write keyword @include
followed past the mixin's name and value (if applicable). Mixins in Sass undoubtedly pave the way for powerful and efficient website design by creating less repetitive code.
Using Inheritance and Other Directives
Some other powerful programming characteristic that y'all can implement through website evolution with Sass is inheritance. You can refer to this every bit "extending" selectors in Sass. With the use of @extend
, selectors tin inherit the CSS properties of other selectors, thus simplifying your code immensely by removing the need for repetitive code. This creates more flexibility in your stylesheet by but "turning on" a selector with the keyword @extend
. To use this feature, merely create a selector with the %
symbol in front to indicate that the CSS backdrop in this selector tin exist extended. Now, when you are creating another selector, you can call @extend %selectorName;
and its backdrop will be inherited by that new selector.
While the @extend
function is wildly popular amid Sass advocates, there are many basic programming functions that take been integrated into the Sass linguistic communication. For instance, near programmers are familiar with the employ of provisional statements. At present, Sass developers can use @if
and @else
directives which will lead to much more than powerful website development. Similarly, those who are familiar with the traditional for and while loops can replicate these Java functions with the @for
and @while
directives.
Using Operators
Programmers apply mathematically driven algorithms all of the fourth dimension. On the other paw, at that place is practically no usage of math involved in traditional CSS design. Luckily, Sass allows developers to use basic operators (+, -, *, /, %) to summate pixel or percentage values in CSS declarations. Information technology is a small-scale only highly applied tool for designers who wish to create more complex websites. According to the official documentation for Sass, in that location is also a library of math-driven functions that Sass developers can use. Actually, well-nigh programmers are probably familiar with many of these functions in the library. It includes functions such asabs($number)
to detect absolute value, min($numbers…)
to detect the smallest of multiple values, and random()
to render a random numerical value. To view all of the functions available on Sass, visit the official documentation site for Sass.
Converting between SCSS to CSS files
After you have finished designing your HTML elements using Sass, it is fourth dimension to finally publish your website. However, you cannot directly utilize the SCSS files when loading your website. Instead, you must convert your files to CSS. With the Sass gem, which can be installed through the control line, at that place a multifariousness of executables bachelor. If you do not have the Sass jewel installed, yous may also run the Sass executables with another source.
-
sass
or$ bundle exec sass
: Used to catechumen a source Sass file into a CSS file. Runsass --assist
for more for more than instructions. -
sass-catechumen
or$ bundle exec sass-convert
: Used to convert between Sass, SCSS, and CSS files. Runsass-convert --help
for more instructions. This is a perfect executable for existing projects that you would like to switch over to SCSS format.
Other CSS Preprocessors
Stylus
Modeled subsequently Sass, Stylus is some other highly popular culling for a CSS preprocessor. A peculiarly useful feature that draws many users towards Stylus is its highly dynamic and flexible language and syntax. Users accept the option of omitting punctuation such as curly braces, colons, and semicolons. They can even omit certain keywords (for example, @mixin
) if they prefer. Like to Sass, Stylus integrates many powerful programming features such as functions/mixins, variables, iteration, and inheritance. A specially useful feature in Stylus is the CSS literal, indicated past @css
. This keyword can be used to revert dorsum to CSS type if Stylus is unable to accommodate a asking.
Less
Less, which stands for Leaner Stylesheets, is another CSS preprocessor choice that is very similar to its alternatives. It offers many built-in programming features. This includes creating variables, using mixins, nesting your code, and utilizing a library of built-in functions. Unlike Stylus, Less is more strict in its syntax. In fact, it practically replicates the syntax of traditional CSS lawmaking. Based on your personal preferences, you may view this as an advantage or a disadvantage.
SASS Versus LESS
Nosotros need to go through a few nuts to understand what SASS and LESS are. So let u.s.a. start by discussing the CSS preprocessor. A CSS preprocess is a scripting linguistic communication that programmers employ to extend CSS when they write lawmaking in one linguistic communication. The CSS preprocessor then compiles it into CSS. SASS is the near popular example of this CSS preprocessor while others similar LESS and Stylus are bottom-known.
What is SASS?
SASS stands for Synthetically Awesome Manner Sheets which allows users to add several things similar variables, inline imports, nested rules, etc to their code. SASS also helps users keep things organized through the coding process which makes it easier to handle these sheets. SASS works with all versions of CSS but owners need to take Ruby-red installed in their organisation for it.
SCSS
Similarly, SCSS is a special file type in Ruby that assembles CSS Style Sheets for a browser. So, you tin say that SCSS is like CSS but with ameliorate formatting for coding.
What is LESS?
LESS stands for Learner Style Sheets and is a backward compatible language extension that people use in CSS. Information technology is fairly like shooting fish in a barrel to acquire LESS because it looks just like CSS. Yous can use LESS to nest rules inside of rules considering of which the rules employ within the outer dominion selector.
This allows developers and designers to add their ain CSS rules according to the DOM structure in a document. These nested rules get in easier to understand and follow when executing a code.
LESS or SAAS: What Should I Employ?
Information technology is quite difficult to understand whether LESS is amend than SAAS or vice versa but nosotros can compare their features to become a clearer idea of which ane users should opt for. Permit us practise a comparative analysis of SASS and LESS to become a better thought of which one is better?
SASS and LESS both use similar functions and mixins. Still, SASS uses Ruby equally a base of operations language. On the other hand, LESS uses JavaScript for coding. The departure in coding language still does not give an edge to whatsoever of these languages.
LESS lets the users use the Mixins under certain conditions only. While this sounds similar a helpful feature, information technology besides explains the logical link limit in LESS. SASS, provides a different arroyo. For example, SASS allows users to use loops and example-oriented distinctions during the programming.
SASS gives users the freedom to utilize SCSS or an indented syntax, which gives them the liberty to abide by the CSS rules or deviate from them. All the same, the code in LESS is automatically a superset of CSS. SASS is more pop among the development community but not simply because of its feature, just because it is an older linguistic communication.
Which is better SASS or SCSS or LESS?
Let u.s.a. take a look at the private characteristics for SASS, SCSS, and LESS, to encounter which of these CSS extensions are better for developers.
SASS
- SASS helps reduce the repetition in CSS to salvage time and is an extension of CSS. It is a superset of CSS that is coded in the Cherry language
- SASS has its syntax and compiles information technology into CSS in a readable form
- SASS can report errors in syntax
- Allows users to create their functions and utilize them in the user'south context.
- SASS uses mixing to create styles that yous tin use and reuse
- SASS focuses more on the knowledge base, thus, it does not have visuals
LESS
- LESS helps users maintain, customize, manage and handle style sheets for websites. Information technology is a dynamic language and works on several browsers.
- Developed on JavaScript which makes information technology a superset of CSS used to reduce redundancy
- Explains authentic errors likewise equally the location of the errors
- Helps manipulate values through JavaScript, which can change colors, round functions, ceil functions, etc.
- LESS besides uses Mixens.
- LESS provides documentations with highly-seasoned visuals with piece of cake to follow steps.
SCSS
- SCSS is a special type of fie for SASS that allows additional functionality in CSS.
- SCSS does not require a syntax code
- SCSS does non demand to follow strict indentions, unlike SASSS
- SCSS resembles SASS in writing styles but the use of brackets and semicolons is necessary
- It has a file extension
- SCSS has a smaller developer community as compared to SASS, which is why the support with SCSS is lower too.
Does Bootstrap Apply SASS OR LESS?
Bootstrap is a pop choice for the evolution community globally, and since LESS was such an influence on the market during Boostrap three, it offered a SASS alternative. All the same, things change entirely when you consider Boostrap 4. It is because Boostrap 4 uses SASS entirely. This is the first time that Boostrap's source lawmaking uses SAAS.
Therefore, it is condom to say that SASS is a safer consideration for the time to come. Experts believe that Boostrap fabricated this bold move because the number of SASS users are almost double compared to LESS users.
Why Are More Developers Using LESS and SASS Instead Of CSS?
Contempo market trends reveal that more than developers are now using LESS and SASS instead of CSS for various reasons. For instance, whatsoever project that starts, requires only a few rules of CSS but then the rules get complicated as the project advances. This makes CSS difficult to learn and adapt to for more than advanced projects. Therefore, people like going for options like LESS and SASS that have production-ready features available.
Similarly, development via CSS is time-consuming and increases the boilerplate fourth dimension required to complete a task. Other languages like JavaScript concord regular conferences to communicate well-nigh advancements, but there is no such thing in CSS. All of these things make LESS and SASS a much better alternative than CSS.
That said, information technology is clear that both SASS and LESS play vital roles in the world of evolution. SASS is however popular despite coming to the industry earlier than LESS. Both these extensions have their merits and demerits and it all depends on how the users utilize them.
Conclusion
All in all, Sass is a bully tool for website developers who are looking to enhance their spider web design with basic programming functions. Not only is installation straightforward, but the Sass language and syntax is quick to learn.
The diverse programming functions, such as mixins and variables, and the visual bureaucracy of Sass create more than efficient and maintainable stylesheets.
I hope that this article will guide you as you experiment with the cutting-edge technologies outlined above.
Author Bio
Angelo has been involved in the artistic IT world for over 20 years. He built his start website back in 1998 using Dreamweaver, Wink and Photoshop. He expanded his knowledge and expertise by learning a wider range of programming skills, such every bit HTML/CSS, Flash ActionScript and XML.
Angelo completed formal training with the CIW (Certified Internet Webmasters) program in Sydney Australia, learning the cadre fundamentals of computer networking and how it relates to the infrastructure of the world wide web.
Apart from running Sunlight Media, Angelo enjoys writing informative content related to web & app development, digital marketing and other tech related topics.
Source: https://sunlightmedia.org/sass/
Posted by: shanklehationen2001.blogspot.com
0 Response to "How To Install Node Sass On Windows 10"
Post a Comment