webpack快速构建项目
1.前(fei)言(hua)
webpack是什么我在这里就不多说了,实在不知道的可以直接在去搜一下,都一大堆答案。关于用webpack怎么构建项目,方法也是多种多样,五花八门。今天,我就写下我平常构建项目的方式,这个方式我觉得比较便捷和简单粗暴,如果有什么要指出的,也欢迎大家评论,毕竟我也只是一个前端新人。
2.步骤
第一步,在目录建个文件夹
为了方便,我在编辑器打开这个目录了
第二步,创建package.json配置文件
输入命令行 $ npm init
依次输入,
从上往下就是,项目名称,迭代版本,项目说明,主入口文件,封装的可执行命令,作者的一些信息,源协议名称。
这应该就是最简单的配置文件了。
第三步,安装webpack依赖
如果之前没全局安装过webpack,就先安装一下
$ npm install webpack -g
然后安装项目依赖
$ npm install webpack --save-dev
然后就会看到package.json里面多了一行
这就说明安装成功了。
第四步,创建并配置webpack.config.js
创建webpack.config.js之前,先创建一个index.js和index.html,一个为入口文件,一个为普通的html文件
完了之后,目录就应该是这样的
在index.js里面写上这行测试用途的代码
document.write("hello world");
之后,创建一个webpack.config.js,代码如下
let path = require('path');
let webpack = require('webpack');
module.exports = {entry: './index.js',output: {path: path.join(__dirname, 'dist'), //输出目录的配置,模板、样式、脚本、图片等资源的路径配置都相对于它filename: "bundle.js"},module: {rules: []}
};
这个也应该是最基础的webpack.config.js了
然后执行 $ webpack
这个命令就是打包输出,执行完了之后,会看到,文件夹上多了一个dist文件夹,里面有个bundle.js,这个就是打包输出之后的文件夹和文件。需要的就是这些。
第五步,测试结果
在index.html引入之前输出的bundle.js。
最后,在随便一个浏览器,打开index.html
大功告成!上面这里写了很多,但实际上操作起来就是分分钟的事情,当然这是最简单的从零开始。
3.简单粗暴的搭建
如果真要最简单的构建项目,更简单的方法是,直接从别的项目拷贝package.json这个配置文件,然后执行
$ npm install
完了之后,在里面应该有配置的的,就都安装完成了,附上一段我常用的配置
package.json
{"name": "test3","version": "1.0.0","description": "测试版","dependencies": {},"devDependencies": {"babel-cli": "^6.10.1","babel-core": "^6.14.0","babel-loader": "^6.2.5","babel-preset-es2015": "^6.9.0","babel-preset-stage-0": "^6.5.0","babel-register": "^6.18.0","browser-sync": "^2.18.2","css-loader": "^0.25.0","ejs-compiled-loader": "^2.1.1","element-ui": "^1.2.5","extract-text-webpack-plugin": "^1.0.1","file-loader": "^0.9.0","glob": "^7.0.6","gulp": "^3.9.1","gulp-file-include": "^1.0.0","html-loader": "^0.4.3","html-webpack-plugin": "^2.22.0","iview": "^2.0.0-rc.5","node-sass": "^3.7.0","raw-loader": "^0.5.1","sass-loader": "^4.0.2","scss-loader": "0.0.1","style-loader": "^0.13.1","url-loader": "^0.5.7","vue": "^2.2.6","vue-loader": "^10.0.2","vue-resource": "^1.0.3","vue-router": "^2.4.0","vue-style-loader": "^1.0.0","vue-template-compiler": "^2.2.1","vuex": "^2.0.0","webpack": "^1.13.2","webpack-dev-server": "^1.15.1"},"scripts": {"test": "echo \"Error: no test specified\" && exit 1","dev": "webpack-dev-server --hot --inline"},"author": "chen"
}
webpack.config.js
let path = require('path');
let webpack = require('webpack');
let serverHost = "localhost";
let HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {entry: './src/index.js',output: {path: path.join(__dirname, 'dist'), //输出目录的配置,模板、样式、脚本、图片等资源的路径配置都相对于它publicPath: '/dist/',filename: "bundle.js"},//加载器module: {loaders: [{test: /\.vue$/,loader: "vue-loader"},{test: /\.html$/,loader: "raw-loader"},{test: /\.css$/,loader: 'style-loader!css-loader'},{test: /\.js$/,exclude: /node_modules/,loader: "babel-loader"},{test: /\.scss$/,loader: 'style-loader!css-loader!sass-loader'},{test: /\.(eot|svg|ttf|woff|woff2)(\?\S*)?$/,loader: 'file-loader'},{//图片加载器,雷同file-loader,更适合图片,可以将较小的图片转成base64,减少http请求//如下配置,将小于8192byte的图片转成base64码test: /\.(png|jpg|gif)$/,loader: 'url-loader?limit=8192&name=images/[hash].[ext]'}]},vue: {loaders: {scss: ['vue-style-loader', 'css', 'sass'].join('!')}},plugins: [new HtmlWebpackPlugin({title:"test3",filename:"./dist/index.html",//输出html文件,打包时插入js,不用自己手动引入inject: 'body', //js插入的位置,true/'head'/'body'/falsehash: true}),],//使用webpack-dev-serverdevServer: {contentBase: './',host: serverHost,port: 9090, //默认9090inline: true, //可以监控js变化hot: true//热启动},//使用vue2.x的一个配置resolve: {alias: {vue: 'vue/dist/vue.js'}}
};
大家执行$ webpack
就知道大概的区别了。在运行dist里面的index.html,就知道区别了
webpack快速构建项目相关推荐
- Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(一)基础知识概述
Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(一)基础知识概述 前言 2016年,我写了一系列的 VUE 入门教程,当时写这一系列博文的时候,我也只是一个菜鸟 ...
- SpringBoot快速构建项目
我们再来看一下SpringBoot的快速构建项目,我们都是在集成的IDEA当中,创建一个maven project,在maven project的pom文件里呢,我们再去加SpringBoot相关的坐 ...
- Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(十一)阶段性小结
Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(十一)阶段性小结 前情回顾 去年写的那一套东西,虽然我也写得非常的认真,但是其中还是有点绕了.当时水平不行.现在 ...
- Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(二)安装 nodejs 环境以及 vue-cli 构建初始项目
Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(二)安装 nodejs 环境以及 vue-cli 构建初始项目 在上一篇<Vue2+VueRouter2+ ...
- 转载: 我如何使用 Django + Vue.js 快速构建项目
原文链接: https://www.ctolib.com/topics-109796.html 正文引用如下 引言 大U的技术课堂 的新年第一课,祝大家新的一年好好学习,天天向上:) 本篇将手把手教你 ...
- 【开源项目】SpringCloud 快速构建项目脚手架工程(持续更新)
一.项目地址 https://gitee.com/smile-coding/springcloud-quick-start 二.项目说明 本项目旨在提供一个快速构建微服务的脚手架工程,不掺杂任何的复杂 ...
- 使用vue-cli快速构建项目
vue-cli 是vue.js的脚手架,用于自动生成vue.js模板工程的. 安装vue-cli之前,需要先安装了vue和webpack · node -v //(版本低引起:bas ...
- 使用vue-cli快速构建项目--vue.js学习笔记1
1.vue init webpack 项目名称 2.cnpm(npm) install 3.npm run dev 4.打包 npm run build 打包完之后生成dist文件夹放到服务器上就行了 ...
- 使用ember-cli脚手架快速构建项目
步骤: 安装Ember. 创建一个新应用程序. 定义路由. 编写一个UI组件. 构建您的应用程序以部署到生产环境. 安装Ember 您可以使用npm(Node.js包管理器,你需要安装node.js) ...
最新文章
- python测试脚本截图_selenium + python实现截图并且保存图片
- MySQL架构与历史【v1】【励志把高性能MySQL吃掉】
- 交大计算机学硕往年录取情况,上海交通大学2020年考研报录情况汇总及分析
- 10.傅里叶变换——更正式的傅里叶变换,频谱,局限性,离散傅里叶变换_4
- k8s架构及服务详解
- Ros学习——launch文件解析
- 12.1 LNMP架构介绍 12.2 MySQL安装 12.3/12.4 PHP安装 12.5 Ng
- 【C++】【Opencv】【vs2015】环境配置
- 树莓派无法打开摄像头模块,无法识别摄像头
- jdk 配置出错could not open `C:\Java\jdk16\lib\amd64\jvm.cfg‘ 解决方案
- postgresql和es_Apache的气流和PostgreSQL与码头工人和码头工人组成
- 图片编辑助手小程序_图片加文字_快速拼图_表情包制作
- Druid【部署 01】最新版本的(安装+启动服务+打开控制台+本地文件数据载入+数据查询)及(小内存服务器启动JVM参数调整)一次学会使用Druid的完整流程(已完成)
- 山海演武传·黄道·第一卷 雏龙惊蛰 第二章 修闵本饰邪
- 人人都来写算法 之 插入排序
- 安卓课程设计之记账本_基于Android个人用户记账本系统课程设计报告
- HashMap 为什么是2倍扩容
- 西京学院学位计算机题库和答案,西京学院 学位英语 普通英语 精彩试题整理.doc...
- mysql fulltext match_使用Mysql全文搜索Full-Text(fulltext和match...against)_MySQL
- (申请加精)你所不知道的奶粉秘密(2)------转自天涯