webpack+手工搭建vue开发环境配置(二)

4 篇文章 0 订阅

webpack开发环境配置步骤


ps: 手动搭建vue, 配置开发环境webpack

  • 搭建项目目录结构
  • 安装 & 配置
  • html-webpack-plugin生成index.html

webpack

1. 项目目录结构

 |-src
 	 |-main.js 项目打包的入口文件
 	 |-App.vue 项目的根组件,项目一启动看到的第一个页面的内容,就写在这里
 |-package.json 使用 npm init -y
 |-webpack.config.dev.js 开发阶段的webpack配置文件

2. 在 App.vue、main.js、webpack.config.dev.js中写代码

	1、App.vue 中输出 Hello Vue
	
	2、main.js中写代码
		达到的目的就是:
		2.1、导入根组件
			import App from './App.vue'
			
		2.2、渲染根组件
			2.2.1、安装  vue 的包
			2.2.2、创建一个根实例
			2.2.3、使用根实例中的render属性对应的函数,来渲染App.vue到
				id=app的div中去
				
			因为我们打包的是main.js,导入根组件,使用vue实例的render把根组件的
			Hello Vue渲染到id=app的div中去,让用户看到它
			
	3、编写webpack.config.dev.js中的代码
		3.1、安装 vue-loader vue-template-compiler css-loader style-loader 包
		3.2、编写了 entry module

3. 使用 html-webpack-plugin 创建 & webpack-dev-server 打包运行,预览效果

	3.1、使用 html-webpack-plugin 插件 生成 index.html
		3.1.1、安装 html-webpack-plugin webpack webpack-dev-server
		3.1.2、在项目根目录下创建一个参考文件 template.html
			在template中,只需要写id=app的div
		3.1.3、在webpack.config.dev.js中配置plugins
			new HtmlWebpackPlugin({
	            template:'./template.html', //参照文件的路径
	            filename:'index.html'
	        })
	3.2、在项目的根目录打开终端,在里面输入如下指令
		webpack-dev-server --config webpack.config.dev.js --progress --open --hot --port 6008
		
		我们如果觉得上面比较长,可以把上面一长串指令,可以放在package.json的scripts中,给他添加一个键值对 "dev":webpack-dev-server --config webpack.config.dev.js --progress --open --hot --port 6008,到时候运行,直接在根目录执行 npm run dev
		
		打包bundle.js,并且把生成好的bundle.js和上一步生成的index.html,发布到它内部的node服务器上面去,并且在index.html中,自动导入bundle.js

4. 项目中用到一些包


安装 vue
	应用场景:我们在根组件中去渲染App.vue,需要创建一个根实例,所以需要安装vue这个包
		安装方式: npm i vue --save/-S

安装 css打包文件
	应用场景:在我们webpack.config.dev.js中,需要配置对.vue结尾文件打包支持的时候
	安装方式: npm i vue-loader vue-template-compiler css-loader style-loader -D
	
安装: html-webpack-plugin
	应用场景:在使用html-webpack-plugin生成index.html的使用用到
	安装方式: npm i html-webpack-plugin webpack webpack-dev-server -D

5. 配置好的: webpack.config.dev

拷贝即可使用哦

// 引入
var HtmlWebpackPlugin = require('html-webpack-plugin');
const webpack = require('webpack')

module.exports = {
    entry: './src/main.js', //打包的入口文件
    module: {//配置loader
        rules: [
            {
                test: /\.vue$/,
                use: [
                    {
                        loader: 'vue-loader'
                    }
                ]
            },
            {
                test: /\.css$/,
                use: [
                    { loader: "style-loader" },
                    { loader: "css-loader" }
                ]
            },
            {
                test: /\.(ttf|eot|svg|woff|jpg|png|gif)$/,
                use: [
                    {
                        loader: 'url-loader'
                    }
                ]
            }
        ]
    },
    resolve: {
        extensions: ['.vue', '.js', '.json', '*']
    },
    plugins: [//插件中的内容都是new出来的
        new HtmlWebpackPlugin({
            template: './template.html', //参照文件的路径
            filename: 'index.html'//最后发布到node服务器上面的名称
        }),
        
        // 全局使用 jQuery
        new webpack.ProvidePlugin({
	        $:"jquery",
	        jQuery:"jquery"
	    })
    ]
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值