webpack.config.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. const path = require('path');
  2. const ExtraWatchWebpackPlugin = require('extra-watch-webpack-plugin');
  3. const ExtractTextPlugin = require('extract-text-webpack-plugin');
  4. module.exports = {
  5. module: {
  6. rules: [
  7. {
  8. loader: 'raw-loader',
  9. test: /\.(glsl|frag|vert)$/,
  10. include: [ path.resolve(__dirname, 'build/node_modules/') ],
  11. },
  12. {
  13. loader: 'glslify-loader',
  14. test: /\.(glsl|frag|vert)$/,
  15. include: [ path.resolve(__dirname, 'build/node_modules/') ]
  16. },
  17. {
  18. loader: 'file-loader',
  19. test: /\.(woff2?|ttf|otf|eot|svg|html)$/,
  20. include: [ path.resolve(__dirname, 'build/node_modules/') ],
  21. options: {
  22. name: '[name].[ext]'
  23. }
  24. },
  25. {
  26. test:/\.(s*)css$/,
  27. use: ExtractTextPlugin.extract({
  28. fallback:'style-loader',
  29. use:['css-loader', 'resolve-url-loader', 'sass-loader'],
  30. })
  31. }
  32. ]
  33. },
  34. plugins: [
  35. new ExtraWatchWebpackPlugin({
  36. files: [
  37. './build/node_modules/**/*.vert',
  38. './build/node_modules/**/*.frag',
  39. './build/node_modules/**/*.glsl',
  40. './build/node_modules/**/*.scss',
  41. './build/node_modules/**/*.html'
  42. ],
  43. }),
  44. new ExtractTextPlugin({ filename:'app.css' }),
  45. ],
  46. }