package.json:

  1. {
  2. "name": "leyi",
  3. "version": "1.0.0",
  4. "main": "index.js",
  5. "license": "MIT",
  6. "scripts": {
  7. "clean": "rimraf ./dist && mkdir dist",
  8. "build:dll": "npm run clean && webpack --config ./webpack.dll.config.js",
  9. "build": "webpack && webpack-dev-server --inline"
  10. },
  11. "devDependencies": {
  12. "art-dialog": "^7.0.0",
  13. "assets-webpack-plugin": "^3.5.1",
  14. "babel-core": "^6.25.0",
  15. "babel-loader": "^7.0.0",
  16. "babel-polyfill": "^6.23.0",
  17. "babel-preset-env": "^1.5.2",
  18. "babel-preset-es2015": "^6.24.1",
  19. "css-loader": "^0.28.3",
  20. "eslint": "^4.1.0",
  21. "extract-text-webpack-plugin": "^2.1.0",
  22. "file-loader": "^0.11.2",
  23. "html-webpack-plugin": "^2.28.0",
  24. "mockjs": "^1.0.0",
  25. "style-loader": "^0.18.1",
  26. "url-loader": "^0.5.8",
  27. "webpack": "^2.6.1",
  28. "webpack-dev-server": "2.1.0-beta.10"
  29. },
  30. "dependencies": {
  31. "d3": "^4.9.1",
  32. "jquery": "^1.11.3",
  33. "save-svg-as-png": "^1.2.0",
  34. "simple-undo": "^1.0.1",
  35. "underscore": "^1.8.3"
  36. }
  37. }

webapck.dll.config.js:

  1. var path = require('path');
  2. var webpack = require('webpack');
  3. module.exports = {
  4. entry: {
  5. dll: ['babel-polyfill','d3', 'jquery','save-svg-as-png','art-dialog']
  6. },
  7. output: {
  8. path:path.join(__dirname,'./dist/js'),
  9. filename: '[name].bundle.js',/* output.library 将会定义为 window.${output.library} */
  10. library: '[name]'
  11. },
  12. plugins: [
  13. new webpack.optimize.UglifyJsPlugin({
  14. compress: {
  15. warnings: false
  16. }
  17. }),
  18. new webpack.DllPlugin({ /*path 定义 manifest文件生成的位置 [name]的部分由entry的名字替换*/
  19. path: path.join(__dirname, '[name]-manifest.json'),
  20. name: '[name]'/*name dll bundle输出到那个全局变量上和 output.library 一样即可*/
  21. })
  22. ]
  23. };

webapck.config.js: 

  1. 'use strict';
  2. var path=require('path');
  3. var webpack =require('webpack');
  4. var ExtractTextPlugin = require("extract-text-webpack-plugin");
  5. var uglifyJsPlugin = webpack.optimize.UglifyJsPlugin;
  6. var HtmlWebpackPlugin = require('html-webpack-plugin');
  7.  
  8. module.exports={
  9. context:path.join(__dirname,'./src'),
  10. entry:{
  11. "home":'./pages/home/js/index.js'
  12. },
  13. output:{
  14. path:path.join(__dirname,'./dist'),
  15. filename:'js/[name].bundle.js'
  16. },
  17. module:{
  18. rules: [
  19. {
  20. test: /\.js$/,
  21. exclude: /(node_modules|bower_components)/,
  22. use: {
  23. loader: 'babel-loader'
  24. }
  25. },
  26. {
  27. test: /\.css$/,
  28. use: ExtractTextPlugin.extract({
  29. fallback: "style-loader",
  30. use: "css-loader"
  31. })
  32. },
  33. { test: /\.(gif|jpg|png|woff|svg|eot|ttf)\??.*$/,
  34. loader: 'url-loader?limit=8192&name=images/[hash:8].[name].[ext]'
  35. }
  36. ]
  37. },
  38. plugins: [
  39. new webpack.DllReferencePlugin({
  40. context: __dirname,
  41. manifest: require('./dll-manifest.json'),
  42. name: "dll"
  43. }),
  44. new webpack.ProvidePlugin({ //全局化变量
  45. //当webpack碰到require的第三方库中出现全局的$、jQeury和window.jQuery时,就会使用node_module下jquery包export出来的东西
  46. $: "jquery",
  47. jQuery: "jquery",
  48. "window.jQuery": "jquery",
  49. "d3":"d3",
  50. "_":"underscore",
  51. "dialog":"art-dialog",
  52. "svg2Png":"save-svg-as-png"
  53. }),
  54. new ExtractTextPlugin("css/style.css"),//单独使用link标签加载css并设置路径,相对于output配置中的publickPath
  55. new webpack.HotModuleReplacementPlugin(), //热加载
  56. /* new webpack.optimize.CommonsChunkPlugin({
  57. name: "common",// 将公共模块提取,生成名为`common`的chunk
  58. chunks:["home"],//提取哪些模块共有的部分,默认所有
  59. //filename: "js/common.js",
  60. //minChunks: 2 // 提取至少2个模块共有的部分
  61. }),*/
  62. //压缩代码 编译的速度会变慢,生产时用
  63. /* new uglifyJsPlugin({
  64. compress: {
  65. warnings: false,
  66. drop_console: true //删除console
  67. }
  68. }),*/
  69. new HtmlWebpackPlugin({
  70. title:'page1',//用来生成页面的 title 元素
  71. template:"pages/home/home.html",//自定义的html页(默认支持ejs模板),如果不指定模板,会生成最基本的html结构
  72. filename:'home.html',//输出的 HTML 文件名,默认是 index.html, 也可以直接配置带有子目录。
  73. hash:true,//生成hash,对于解除 cache 很有用
  74. inject:'body',//script资源插入模板的位置| 'head' | 'body' |
  75. chunks: ['home']//需要引入的chunk,不配置就会引入所有页面的资源
  76. })
  77. ],
  78. devServer:{
  79. contentBase:path.join(__dirname,'./dist'),
  80. host: 'localhost',
  81. progress:true,//显示进度
  82. port: 3000, //默认8080
  83. inline: true,
  84. hot: true//热启动
  85. }
  86. }; 

webpack配置备份的更多相关文章

  1. [webpack] 配置react+es6开发环境

    写在前面 每次开新项目都要重新安装需要的包,简单记录一下. 以下仅包含最简单的功能: 编译react 编译es6 打包src中入口文件index.js至dist webpack配置react+es6开 ...

  2. webpack配置详解

    webpack配置详解 先点个赞吧,再挨个点下面的连接,觉得不值这个赞的回来骂我啊. Webpack傻瓜式指南(一) Webpack傻瓜指南(二)开发和部署技巧 Webpack傻瓜式指南 原生的官网详 ...

  3. Webpack配置示例和详细说明

    /* * 请使用最新版本nodejs * 默认配置,是按生产环境的要求设置,也就是使用 webpack -p 命令就可以生成正式上线版本. * 也可以使用 webpack -d -w 命令,生成用于开 ...

  4. vue-cli#2.0 webpack 配置分析

    目录结构: ├── README.md ├── build │ ├── build.js │ ├── check-versions.js │ ├── dev-client.js │ ├── dev-s ...

  5. iis7、iis8配置备份还原

    原文 iis7.iis8配置备份还原 方法1: 1.打开我们的IIS管理器,在功能视图里找到“共享的配置”这个功能然后双击进入. 2.进入“共享的配置”后单机右上方的“导出配置”选项,选择导出配置文件 ...

  6. webpack配置这一篇就够

    最近看了一篇好文,根据这个文章重新梳理了一遍webpack打包过程,以前的一些问题也都清楚了,在这里分享一下,同时自己也做了一些小的调整 原文链接:http://www.jianshu.com/p/4 ...

  7. gitlab一键安装+配置(备份+LADP认证)

    gitlab一键安装+配置(备份+LADP认证) #gitlab一键安装 #centos6 mini, GitLab社区版 #参考官方最新文档 https://www.gitlab.com.cn/in ...

  8. webpack配置报错:invalid configuration object.webpack has been initialisted using a configuration objcet that does not match thie API schema

    最近接收了别人的项目,webpack配置总是报错如下:最后找到了解决办法,在此分享一下: 错误情况: 解决办法: 将package.json里面的colors删除掉即可

  9. 前端工程化(二)---webpack配置

    导航 前端工程化(一)---工程基础目录搭建 前端工程化(二)---webpack配置 前端工程化(三)---Vue的开发模式 前端工程化(四)---helloWord 继续上一遍的配置,本节主要记录 ...

随机推荐

  1. Adobe 软件防止联网激活更改Hosts文件

    来自为知笔记(Wiz) 附件列表

  2. 一条SQL查出当月的每一天

    from master..spt_values ),,),'2013-02-03')+'-01' as datetime)) 结果: 返回带有年月日的日期 ),),) AS datetime) fro ...

  3. Mysql的row_format

    在mysql中, 若一张表里面不存在varchar.text以及其变形.blob以及其变形的字段的话,那么张这个表其实也叫静态表,即该表的row_format是fixed,就是说每条记录所占用的字节一 ...

  4. navicat 连接 oracle

    环境:windows2008r2(x64) oracle 11.2.0.1 1.找到Oracle服务端的NetManager程序(一般在开始菜单->oracle->配置和移植工具)中,修改 ...

  5. eclipse中 报出The type javax.servlet.http.HttpServlet cannot be resolved. It is indirect错误

    在Myeclispe部署项目后 报错 The type javax.servlet.http.HttpServlet cannot be resolved. It is indirect错误 如果在M ...

  6. Visual Studio最好用的快捷键

    当然每个人常用的一般都会有些不一样,欢迎大家评论说出自己常用或最常用的快捷键吧,比比看谁用的巧~~~ ctrl+-(shift+ctrl+-):移动光标到上次位置或相反,比如定位一个函数,转到函数定义 ...

  7. 使用WinRAR创建可执行程序(例如:Java程序打包 成exe)

    不管你是java.c.还是xx程序,只要打包成可以双击运行/或者命令行运行,都可以用WinRAR软件生成压缩格式的exe文件,目标电脑可以没安装解压软件,依然可以运行解压. 第一步:准备压缩的所有文件 ...

  8. CM添加kafka服务

    下载所需的包: 在http://archive.cloudera.com/kafka/parcels/latest/ 选择合适parcel下载: ubuntu14.04的cdh5.5.1对应包 htt ...

  9. JAVA垃圾收集机制剖析

    1.垃圾收集算法的核心思想 Java语言建立了垃圾收集机制,用以跟踪正在使用的对象和发现并回收不再使用(引用)的对象.该机制可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引发的内存耗尽 ...

  10. Windows 7 添加MBR文件启动

    bcdedit /create /d "Solaris" /application bootsector后会出现标识符如{26224d85-dbcc-11e4-86a8-e164d ...