webpack.base.config.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. /**
  2. * Created by admin on 2017/8/31.
  3. */
  4. /**
  5. * Created by admin on 2017/8/30.
  6. */
  7. /**
  8. * Created by admin on 2017/8/17.
  9. */
  10. var path = require('path');
  11. var fs = require('fs')
  12. var webpack = require('webpack');
  13. var CopyWebpackPlugin = require('copy-webpack-plugin')
  14. var glob = require('glob')
  15. // function getEntry() {
  16. // var entry = [];
  17. // var srcDirName = './src/utils/*.js'; //入口文件夹路径
  18. // glob.sync(srcDirName).forEach(function (name) { //n 获取文件名字
  19. // var n = name.slice(0, name.length - 3);
  20. // n = n.slice(n.lastIndexOf('/')).split("/")[1];
  21. // entry.push(name.replace('src/', ''));
  22. // });
  23. //
  24. // return entry;
  25. // }
  26. function getDir(str) {
  27. var dir = fs.readdirSync(str);
  28. return dir.filter((item) => {
  29. var v = path.resolve(__dirname, item);
  30. if (fs.existsSync(v) && fs.statSync(v).isFile()) {
  31. return /^app.*/i.test(item)
  32. } else {
  33. return (!/(node_modules|dist|.idea)/i.test(item))
  34. }
  35. return (!/(node_modules|dist)/i.test(item) && !/^app.*/i.test(item)) || /^app.*/i.test(item)
  36. }).map((obj) => {
  37. return {
  38. from: path.resolve(__dirname, obj),
  39. to: path.resolve(__dirname, 'dist', obj)
  40. }
  41. })
  42. }
  43. module.exports = {
  44. context: path.join(__dirname, 'src/es6'),
  45. entry: {
  46. myapp:'./myapp.js'
  47. },
  48. output: {
  49. path: path.join(__dirname, 'dist/src/lib'),
  50. filename: '[name].js',
  51. libraryTarget: 'umd'
  52. },
  53. module: {
  54. rules: [
  55. {
  56. test: /\.js$/,
  57. query: {
  58. presets: ['es2015','stage-0']
  59. },
  60. loader: 'babel-loader',
  61. exclude: /node_modules/
  62. },
  63. ]
  64. },
  65. plugins: [
  66. new CopyWebpackPlugin([
  67. {
  68. from: path.join(__dirname, '/src'),
  69. to: path.join(__dirname, '/dist/src')
  70. }
  71. ],{
  72. ignore: [
  73. 'es6/*.js',
  74. '*.less',
  75. '*.css'
  76. // 'es6/*.js',
  77. /*'pages/!**!/!*.less',
  78. 'pages/!**!/!**!/!*.less',*/
  79. ],
  80. copyUnmodified: true
  81. }),
  82. ],
  83. resolve: {
  84. extensions: ['.js']
  85. },
  86. }