cooking.demo.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. var cooking = require('cooking');
  2. var path = require('path');
  3. var Components = require('../components.json');
  4. cooking.set({
  5. entry: {
  6. app: './examples/entry.js',
  7. vendor: ['vue', 'vue-router']
  8. },
  9. dist: './examples/element-ui/',
  10. template: './examples/index.template.html',
  11. publicPath: '/element-ui/',
  12. hash: true,
  13. devServer: {
  14. port: 8085,
  15. log: false,
  16. publicPath: '/'
  17. },
  18. chunk: 'vendor',
  19. extractCSS: true,
  20. extends: {
  21. vue: true,
  22. lint: true,
  23. saladcss: {
  24. browser: ['ie > 8', 'last 2 version'],
  25. features: {
  26. 'bem': {
  27. 'shortcuts': {
  28. 'component': 'b',
  29. 'modifier': 'm',
  30. 'descendent': 'e'
  31. },
  32. 'separators': {
  33. 'descendent': '__',
  34. 'modifier': '--'
  35. }
  36. }
  37. }
  38. }
  39. }
  40. });
  41. cooking.add('loader.md', {
  42. test: /\.md$/,
  43. loader: 'vue-markdown-loader'
  44. });
  45. cooking.add('vueMarkdown', {
  46. use: [
  47. [require('markdown-it-toc-and-anchor').default, {
  48. anchorLinkSymbol: '',
  49. anchorClassName: 'anchor'
  50. }]
  51. ],
  52. preprocess: function (MarkdownIt, source) {
  53. MarkdownIt.renderer.rules.table_open = function () {
  54. return '<table class="table">';
  55. };
  56. MarkdownIt.renderer.rules.fence = wrap(MarkdownIt.renderer.rules.fence);
  57. return source;
  58. }
  59. });
  60. var wrap = function (render) {
  61. return function () {
  62. return render.apply(this, arguments)
  63. .replace('<code class="', '<code class="hljs ')
  64. .replace('<code>', '<code class="hljs">')
  65. };
  66. };
  67. cooking.add('resolve.alias', {
  68. 'main': path.join(__dirname, '../src'),
  69. 'packages': path.join(__dirname, '../packages'),
  70. 'examples': path.join(__dirname, '../examples')
  71. });
  72. var externals = {};
  73. Object.keys(Components).forEach(function (key) {
  74. externals[`packages/${key}/style.css`] = 'null';
  75. });
  76. // 开发模式不需要将不存在的 style.css 打包进去
  77. cooking.add('externals', externals);
  78. // cooking.config.vue.loaders.html = 'html?minimize=true&conservativeCollapse=false';
  79. module.exports = cooking.resolve();