Giter Site home page Giter Site logo

wildwebpack's Introduction

enter image description here

Wild Webpack Project

Simple Project around Webpack 2 , a Beautiful Bundler of your assets

Stack

  • Node with NPM (scripts)
  • Multiple Environments (Dev , Prod...)
  • Webpack
  • Webpack Server + Webpack Merger + HMR
  • ESLINT (console + webpack + babel-eslint) follow StyleGuide
  • AirBnB StyleGuide
  • ES6 / Babel (Module Loading)
  • SASS or CSS

Recommandations

Work in /src directory (css, img, fonts) and that's all!

Permission Issues

Fixing npm permissions

  1. Find the path to npm's directory:
 npm config get prefix
  1. Change the owner of npm's directories to the name of the current user
 sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

Requirements

Install a few dependencies globally::

$ npm install -g babel $ npm install -g webpack $ npm install -g webpack-dev-server $ npm install -g eslint $ npm install -g imagemin

Maybe, you shoud update/upgrade your Node.JS

npm install -g n
n latest
npm install npm@latest -g

Development

Create a JS bundle with Webpack::

$ npm run build

Start the Webpack development server on 'localhost:3000'::

$ npm run start

Linting::

$ npm run lint

Utils

How to kill on port

  fuser -n tcp -k 3000

HTML Webpack Plugin

Installation::

$ npm install html-webpack-plugin --save-dev

webpack.config.js::

var HtmlWebpackPlugin = require('html-webpack-plugin')

module.exports = { ... plugins: [ new HtmlWebpackPlugin({ title: 'Website Starter', template: 'src/index.html', minify: { collapseWhitespace: true, removeComments: true, removeRedundantAttributes: true, removeScriptTypeAttributes: true, removeStyleLinkTypeAttributes: true } }) ], }

ES6 Imports

Default import::

import localName from 'src/my_lib';

Namespace import: imports the module as an object (with one property per named export)::

import * as my_lib from 'src/my_lib';

Named imports::

import { name1, name2 } from 'src/my_lib';

Renaming named imports::

// Renaming: import name1 as localName1 import { name1 as localName1, name2 } from 'src/my_lib'; Empty import: only loads the module, doesn’t import anything. The first such import in a program executes the body of the module. import 'src/my_lib';

Source: http://exploringjs.com/es6/ch_modules.html

Imports for broken modules::

require('script!objectpath/lib/ObjectPath');

Source: https://webpack.github.io/docs/shimming-modules.html

SASS Loader

Installation::

$ npm install sass-loader --save-dev

Webpack Configuration (webpack.config.js)::

module.exports = { ... module: { loaders: [ ... { test: /.scss$/, loaders: ["style", "css?sourceMap", "sass?sourceMap"]}, ] }, devtool: 'source-map' }

Javascript::

import Styles from './styles.scss';

SASS (styles.scss)::

body { padding-top: 80px; }

ESLint

Installation::

$ npm install eslint -g

Sublime Text 3 Installation:

https://github.com/roadhump/SublimeLinter-eslint

Sources

wildwebpack's People

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.