Advertisement
Guest User

Untitled

a guest
Aug 25th, 2016
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. #!/bin/sh
  2. npm install webpack webpack-dev-server babel-loader babel-core babel-preset-es2015 style-loader css-loader node-sass sass-loader postcss-loader autoprefixer --save-dev
  3. cat <<EOT > webpack.config.js
  4. var path = require('path');
  5. var autoprefixer = require('autoprefixer');
  6.  
  7. module.exports = {
  8. entry: './src/index.js',
  9. output: {
  10. path: path.resolve(__dirname, 'build'),
  11. filename: "bundle.js",
  12. publicPath: "/"
  13. },
  14. module: {
  15. loaders: [
  16. { test: /(\.css|\.scss)$/, loaders: ['style', 'css?sourceMap', 'postcss', 'sass?sourceMap']},
  17. { test: /\.js$/, loader: 'babel', exclude: /(node_modules|bower_components)/, query: { cacheDirectory: true, presets: ['es2015']}}
  18. ]
  19. },
  20. postcss: function() { return [autoprefixer] }
  21. }
  22. EOT
  23. # Add build directory to gitignore
  24. echo "# build directory" >> .gitignore
  25. echo "build/bundle.js" >> .gitignore
  26. mkdir build
  27. mkdir src
  28. cat <<EOT > build/index.html
  29. <!DOCTYPE html>
  30. <html lang="en">
  31. <head>
  32. <meta charset="UTF-8">
  33. <meta name="viewport" content="width=device-width, initial-scale=1">
  34. <title>Example app</title>
  35. </head>
  36. <body>
  37. <div id="root"></div>
  38. <script src="bundle.js"></script>
  39. </body>
  40. </html>
  41. EOT
  42. cat <<EOT > src/index.js
  43. import './styles.scss';
  44.  
  45. document.getElementById('root').innerHTML = 'Hello world!';
  46. EOT
  47. touch src/styles.scss
  48. cat <<EOT
  49. Add this to your package.json:
  50.  
  51. "scripts": {
  52. "build": "cross-env NODE_ENV=production webpack --config webpack.config.js",
  53. "start": "webpack-dev-server --hot --inline --content-base build/"
  54. }
  55. EOT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement