Skip to content

Instantly share code, notes, and snippets.

@mburakerman
Last active September 26, 2022 17:32
Show Gist options
  • Save mburakerman/629783c16acf5e5f03de60528d3139af to your computer and use it in GitHub Desktop.
Save mburakerman/629783c16acf5e5f03de60528d3139af to your computer and use it in GitHub Desktop.
Webpack 4 config.js (SCSS to CSS and Babel) πŸ‘Œ The Simplest Usage πŸ‘Œ
{
"name": "webpack-sass",
"version": "1.0.0",
"scripts": {
"start": "webpack-dev-server --open --mode development",
"build": "webpack -p"
},
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.4",
"babel-preset-es2015": "^6.24.1",
"css-loader": "^0.28.11",
"node-sass": "^4.8.3",
"sass-loader": "^6.0.7",
"style-loader": "^0.20.3",
"webpack": "^4.5.0",
"webpack-cli": "^2.0.14",
"webpack-dev-server": "^3.1.1"
}
}
/* === dont forget to import scss to main.js file === */
/* ===> import './main.scss'; <=== */
var path = require("path");
module.exports = {
entry: "./main.js",
output: {
path: path.resolve(__dirname, "dist"),
filename: "bundle.js",
publicPath: "/dist"
},
module: {
rules: [
{
test: /\.js$/,
use: {
loader: "babel-loader",
options: { presets: ["es2015"] }
}
},
{
test: /\.scss$/,
use: [
{
loader: "style-loader" // creates style nodes from JS strings
},
{
loader: "css-loader" // translates CSS into CommonJS
},
{
loader: "sass-loader" // compiles Sass to CSS
}
]
}
]
}
};
@tvolk131
Copy link

Worked great for me, thx!

@gkatsanos
Copy link

Uhm, I think this https://github.com/webpack-contrib/mini-css-extract-plugin is suggested for Webpack 4 and having separate CSS files.

@AndreiSoroka
Copy link

@gkatsanos thx! working

Copy link

ghost commented Aug 15, 2018

thx! it's working!

@Harismp
Copy link

Harismp commented Aug 28, 2018

./ClientApp/css/index.scss 1:0
Module parse failed: Unexpected character '@' (1:0)
You may need an appropriate loader to handle this file type.

@import './variables.scss';
| @import './mixin.scss';
| @import './transition.scss';
@ ./ClientApp/boot-app.js 12:0-26
@ multi event-source-polyfill webpack-hot-middleware/client?path=__webpack_hmr&dynamicPublicPath=true ./ClientApp/boot-app.js

@Harismp
Copy link

Harismp commented Aug 28, 2018

Please haelp me

@jnwelzel
Copy link

Thanks mate! πŸ‘

@willwillems
Copy link

For people experiencing a weird bug when running Webpack, you need to get the new Webpack-CLI with npm i webpack-cli@^3.1.1 -D.

If you want you can read more about it here.

@zilahir
Copy link

zilahir commented Nov 10, 2018

i am just wondering whether this is the best practice to inject stylesheet into js.

@hsumyat-thandar
Copy link

I want to get output about multiple css file and multiple js file when I entry that files
What should I do about webpack config ?
please help me

Copy link

ghost commented Dec 5, 2018

I was thinking the same thing as @zilahir

@onzag
Copy link

onzag commented Mar 16, 2019

Module parse failed: Unexpected character '@' (1:0) You may need an appropriate loader to handle this file type.

Halp!

@rebmullin
Copy link

Module parse failed: Unexpected character '@' (1:0) You may need an appropriate loader to handle this file type.

I just came across this myself. Originally I was only importing scss but then I added an iconfont css file and I started seeing this. I updated the test regex to the following and then it worked:

// webpack.config
 {
        test: /\.(s*)css$/, // match any .scss or .css file, 
        use: [
          "style-loader", 
          "css-loader", 
          "sass-loader" 
        ]
      },

I am not an expert with webpack but I believe if you add something similar to the above or maybe even just adjust the regex here it might help.

@Ramehsudhanapu
Copy link

Module parse failed: Unexpected character '@' (1:0) You may need an appropriate loader to handle this file type.

@Ramehsudhanapu
Copy link

Module parse failed: Unexpected character '@' (4:0) You may need an appropriate loader to handle this file type.

@prasathmani
Copy link

thanks , working.

@Rowleen
Copy link

Rowleen commented Jul 10, 2019

Thanks so much. It is work for webpack 4.35.3

@techyaura
Copy link

techyaura commented Sep 26, 2019

I am using GITHUB-LINK as a setup for webpack4 with scss, lazyloading, devserver. Working with the latest webpack version.

@wuubi
Copy link

wuubi commented Oct 23, 2019

Cheers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment