webpack项目搭建

说明

  本文原创,原文地址请看我的github的相关内容

  • 本开发基于mac os
  • .是无序的,先后顺序可以调换。带1,2...是有序的,先后顺序不可以调换。
  • 阅读需要有基础的webpack的知识

前置条件

  1. 需要安装node
  2. 需要全局安装webpack -- 执行"npm install webpack -g"

part zero 新建项目

  1.cd desktop

  2.mkdir your_project_name && cd your_project_name

  3.npm init -y (注意,使用的-y之后一切都是默认的)

  3.npm init (注意,回车后请按提示进行输入)

  [注意,两个步骤3,请选择其中一个进行,推荐使用 npm init]

  4.npm install --save-dev webpack

part one 基本搭建

  1.进入你的根目录

  2.如下:

  • 在根目录下,添加src文件夹,并在此文件夹下面新建index.js,并在index.js文件内写入下面的内容:
console.log("webpack demo");
  • 在根目录下,新建一个名为webpack.config.js文件,并在当前文件输入一下的内容:
const path = require(‘path‘);

module.exports = {
    entry:[//入口文件
        ‘./src/index‘
    ],
    output:{
        path:path.join(__dirname,‘dist‘),//出口文件的路径
        filename:‘bundle.js‘,//打包后的文件名
        publicPath:‘/‘//公共路径名,当前根目录为root
    }
}

  通过以上的两个步骤,可以执行下命令行中,进入根目录并执行webpack指令。执行了本条指令后,会自动找到webpack.config.js文件进行操作。得到的结果是:根目录多出了一个dist文件夹,里面包含bundle.js文件。

  • 在根目录下,新建一个文件夹,并在此文件夹下面新建index.html,并在本文件中,添加如下的内容:
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>webpack</title>
</head>
<body>

    <p>webpack demo</p>

    <!--引入webpack打包后的javascript文件-->
    <script type="text/javascript" src="../dist/bundle.js"></script>
</body>
</html>

  经过上面的三个步骤之后,你可以打开static下面的文件index.html,并在浏览器上运行。结果是;在浏览器的控制台下面看到 "webpack demo" 的字

  3.更改webpack.config.js为webpack.config.dev.js

  原因:我们是在开发环境下面进行开发的,改名称有下面两个好处:

  • 改名称能够更加清楚文件代表的意义。
  • 能够更好的管理文件。

  注意,更改名称之后,你不能够在控制台上面直接执行webpack命令了。而是执行命令webpack --config webpack.config.dev.js。是不是看着执行那么一长串的命令很是别扭,下面介绍一下使用npm 方式执行的命令:

  本身默认的生成的文件结构里面(我是使用npm init生成的),有那么一个文件package.json,里面的本身的内容如下:

{
  "name": "webpack-demo",
  "version": "1.0.0",
  "description": "webpack demo",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "webpack"
  ],
  "author": "reng",
  "license": "ISC",
  "devDependencies": {
    "webpack": "^3.0.0"
  }
}

  下面在package.json文件里面的script字段里面添加一些信息,如下:

  ...
  "scripts": {
    "dev":"webpack --config webpack.config.dev.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  }
  ...

  完成上面的内容之后,就在控制台可以执行npm run dev的指令,这样的执行跟在控制台上面执行webpack --config webpack.config.dev.js得到的结果一模一样的了。很是神奇是吧,熟悉node开发的人应该知道这个npm run dev哈。如果你想实时监听文件的打包的话,需要改动package.json文件对应的scripts字段的字段如下:

  ...
  "scripts": {
    "dev":"webpack --config webpack.config.dev.js --watch",
    "test": "echo \"Error: no test specified\" && exit 1"
  }
  ...

  4.页面更改为本地(localhost)执行

  细心的人儿应该发现了在浏览器上面浏览的地址是酱紫的呢--file:///Users/reng/Desktop/webpack-demo/static/index.html。如果我们要通过localhost(127.0.0.1)来查看,那咋办呢。这就使用到了webpack-dev-server了呢。

  4.1首先安装一下相关的依赖:npm install --save-dev webpack-dev-server

  4.2接下来就要修改一下package.json文件对应的scripts字段的内容了。如下:

  ...
  "scripts": {
    "dev":"webpack-dev-server --config webpack.config.dev.js --port 6066",//更改端口号
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  ...
  • webpack.config.dev.js中进行修改,
    ...
    devServer:{
        port:9000,//更改监听的端口号,默认的端口号是8080
    }
    ...

  上面提供的两种更改端口号的方法你可以根据个人喜好来用,个人比较喜欢第二种,和 devServer字段放在 一起比较好管理哈(后期这个字段会增加内容的,详情请接着往下看哦)

  5.实现热加载

  在开发的过程中,文件的变化的话,应该带来浏览器的自动刷新,这样就不用手动去刷新浏览器查看效果,加快了开发的效率。

自动刷新页面的话,就要在webpack.config.js中添加.html的模版了。需要使用到html-webpack-plugin。使用的步骤如下:

  5.1在控制台通过npm install html-webpack-plugin --save-dev

html-webpack-plugin插件,这个插件可以创建html文件,并自动将依赖写入html文件中。

  5.2对webpack.config.dev.js的内容做下更改:

const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");

module.exports = {
  ...
  devServer:{
    port:9000,//端口号
    contentBase:path.join(__dirname,"dist"),//告诉服务器从哪来提供内容
    publicPath:"/"
  },
  plugins:[
    new HtmlWebpackPlugin({
      template:‘.static/index.html‘//大包后的javascript自动绑定到模版中
    })
  ]
  ...
}

  最终文档描述的项目的结构请见:webpack-demo

  5.3执行"npm run dev"

  在浏览器上打开控制台上面提示的localhost:9000访问。修改istatic/ndex.html页面自动刷新,修改相关的src/index.js,不用刷新就可以查看相关的效果。到这里,webpack先告一段落了咯。

  你可以到这里查看本webpack文档涉及到的整个项目,感兴趣的话可以将那个项目下载下来,在本地上运行运行哦!??

  延伸的内容和本文档有继承和被继承的关系(本文档)延伸的地址webpack_extend01

时间: 2024-11-06 03:37:17

webpack项目搭建的相关文章

搭建自己的Webpack项目:入门

转自:http://www.tuicool.com/articles/YFZRniq 作为当下最流行的前端打包工具,webpack有自己无与伦比的优势和功能特性,使用webpack打包自己的项目能够大大地提高我们的开发效率.小编整理了一下webpack在项目中的最佳实战分享给大家. 一.什么是webpack 随着网页内容的越来越丰富,在我们的网页上我们经常要用到很多的脚本文件,比如幻灯模块的脚本.列表模块的脚本和搜索模块的脚本等等.如果不对这些文件进行统一的打包,整个页面就会非常的凌乱. 于是,

webpack 4 :从0配置到项目搭建

webpack4发布以来,我写项目都是用脚手架,即使再简单的项目,真的是really shame..虽然道听途说了很多 webpack4 的特性,却没有尝试过,因为它给人的感觉就是,em...很难.但是今天我从最简单的部分开始,一点点搭建起一个项目. 0配置,配置了什么 让我们从0开始,新建一个项目,在终端执行以下语句: mkdir webpack-4-quickstart && cd webpack-4-quickstart npm init -y npm i webpack --sav

【原创】从零开始搭建Electron+Vue+Webpack项目框架,一套代码,同时构建客户端、web端(二)

导航: (一)Electron跑起来(二)从零搭建Vue全家桶+webpack项目框架(三)Electron+Vue+Webpack,联合调试整个项目(未完待续)(四)Electron配置润色(未完待续)(五)预加载及自动更新(未完待续)(六)构建.发布整个项目(包括client和web)(未完待续) 摘要:上篇文章说到了如何新建工程,并启动一个最简单的Electron应用.“跑起来”了Electron,那就接着把Vue“跑起来”吧.有一点需要说明的是,webpack是贯穿这个系列始终的,我也是

【原创】从零开始搭建Electron+Vue+Webpack项目框架(五)预加载和Electron自动更新

导航: (一)Electron跑起来(二)从零搭建Vue全家桶+webpack项目框架(三)Electron+Vue+Webpack,联合调试整个项目(四)Electron配置润色(五)预加载及自动更新(六)构建.发布整个项目(包括client和web)(未完待续) 摘要:到目前为止,我们的项目已经具备了PC客户端该有的一些基础功能和调试环境,但是总感觉缺了灵魂,那就是结合实际项目.实际业务的细节处理,缺着吧...这篇文章就介绍一下预加载和自动更新,文字功底有限,如有介绍的不清楚的地方,欢迎留言

vue项目搭建

VUE项目搭建 # 全局安装 vue-cli $ npm install --global vue-cli # 创建一个基于 webpack 模板的新项目 $ vue init webpack my-project # 安装依赖,走你 $ cd my-project $ npm install $ npm run dev

vue+webpack项目结构介绍

对vue已经有了一定的了解,所以希望可以在github上找到一些项目实践,但是无奈不知道vue的整体架构是如何的,往往不知道该如何着手看,所以这里在网上找了相关的文章作为参考,对结构有一个大致的了解.参考文章如下: 用vue+webpack搭建的前端项目结构 vue+webpack项目实践 这里插一句话,搜索谷歌做的确实好,支持原创,搜索精准,不知道比度娘高到哪里去~

Vue.js系列之项目搭建

项目搭建具体步骤如下: 1.安装node (中)https://nodejs.org/zh-cn/ (英)https://nodejs.org/en/ 2.安装cnpm镜像 (node自带安装了npm,故不再安装) $ npm install -g cnpm --registry=https://registry.npm.taobao.org 安装模块时安装方法 $ cnpm install [name] 3.快速学习Vue2.0教程 (中)http://cn.vuejs.org/ (英)htt

Vue.js系列之项目搭建(1)

项目搭建具体步骤如下: 1.安装node 到官网下载安装,我这里是win7系统. (中)https://nodejs.org/zh-cn/ (英)https://nodejs.org/en/ 2.安装cnpm镜像 (node自带安装了npm,故不再安装) ? 1 $ npm install -g cnpm --registry=https://registry.npm.taobao.org 安装模块时安装方法 ? 1 $ cnpm install [name] 3.快速学习Vue2.0教程 (中

vuejs学习——vue+vuex+vue-router项目搭建(一)

前言 快年底了却有新公司邀请了我,所以打算把上家公司的学到一下技术做一些总结和分享. 现在vuejs都2.0了,我相信也有很多朋友和我一样实际项目还是选择vue1.0的或者给新手一些参考,不管在选择哪个版本的时候,希望你都熟读了vue+vuex+vue-router的官方文档.下面我们就开始吧. Vue搭建 这里我假设我们的电脑都安装了nodejs,那么我现在开始吧. 我们先新建一个文件(VueProject),通过命令行的方式进入这个文件夹,现在假设我们进入了VueProject文件夹,接下来