webpack 安装和使用

(1)全局安装后,应该都是最新版的,搜索之后说是新版本的指令有所不同

npm install webpack -g
npm install webpack-cil -g

我的版本图:
在这里插入图片描述

(2)然后输入上面这句进行打包(把mian.js打包到dist里面)

webpack ./src/main.js -o ./dist

(3)webpack.config.js(下面是我配置文件)

const path = require('path')

module.exports = {
    
    
  entry: path.join(__dirname, './src/main.js'),// 入口,表示,要使用 webpack 打包哪个文件
  output: {
    
     // 输出文件相关的配置
    path: path.join(__dirname, './dist'), // 指定 打包好的文件,输出到哪个目录中去
    filename: 'bundle.js' // 这是指定 输出的文件的名称
  }
}

mathUtils.js

function add(num1, num2) {
    
    
  return num1 + num2
}

function mul(num1, num2) {
    
    
  return num1 * num2
}

module.exports = {
    
    
  add,
  mul
}

main.js

const math = require('./mathUtils')

console.log('Hello Webpack');
console.log(math.add(10, 20));
console.log(math.mul(10, 20));

index.html(访问看效果)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<title></title>
		
	</head>
	<body>
		<script src="./dist/bundle.js"></script>
	</body>
</html>

运行结果:打包成功
在这里插入图片描述

注意:
一:如果要处理非JS类型的文件,我们需要手动安装一些合适第三方loader加载器;
比如打包css文件就安装:
npm install style-loader css-loader -D ;
二:打开webpack.config.js这个配置文件,在里面新增一个配置节点,叫做module,它是一个对象;在这个module对象身上,有个rules属性,这个rules是一个数组,这个数组中存放了所有第三方文件的匹配和处理规则;

main.js

// 本项目暂时将本文件作为入口文件
const math = require('./mathUtils')

/* 
一:如果要处理非JS类型的文件,我们需要手动安装一些合适第三方loader加载器;
比如打包css文件就安装:
npm install style-loader css-loader -D ;
二:打开webpack.config.js这个配置文件,在里面新增一个配置节点,叫做module,它是一个对象;在这个module对象身上,有个rules属性,这个rules是一个数组,这个数组中存放了所有第三方文件的匹配和处理规则;
*/
import './css/main.css'

console.log('Hello Webpack');
console.log(math.add(10, 20));
console.log(math.mul(10, 20));

webpack.config.js

const path = require('path')

module.exports = {
    
    
  entry: path.join(__dirname, './src/main.js'),// 入口,表示,要使用 webpack 打包哪个文件
  output: {
    
     // 输出文件相关的配置
    path: path.join(__dirname, './dist'), // 指定 打包好的文件,输出到哪个目录中去
    filename: 'bundle.js' // 这是指定 输出的文件的名称
  },
     // 通过选择 development 或 production 之中的一个,来设置 mode 参数,可以启用相应模式下的 webpack 内置的优化
   mode:'development',
    // 这个节点用于配置所有的第三方模块加载器
    module: {
    
    
      rules: [ // 所有第三方模块的匹配规则
        // test属性是要匹配的规则(正则),use用来指定用什么来处理
        {
    
     test: /\.css$/, use: ['style-loader', 'css-loader'] },
        {
    
    
          test: /\.(jpg|png|bmp|jpeg|gif)$/, use: [
            {
    
    
              loader: 'url-loader',
              options: {
    
    
                limit: false,
              },
            }
          ]
        },// 处理图片路径的loader
        {
    
     test: /\.(ttf|eot|svg|woff|woff2)$/, use: 'url-loader' } // 处理字体图标路径的loader
      ]
    }
}

如何区分webpack中导入vue和普通网页使用script导入vue的区别

1、在普通网页中如何使用vue
(1)使用script标签,引入vue的包;
(2)在index页面中,创建一个id为app div容器;
(3)通过new Vue得到一个vue实例;

2、回顾 包查找规则:
(1)找 项目根目录中有没有 node_modules的文件夹;
(2)在node_modules中根据包名,找对应的vue文件夹;
(3)在vue文件夹中,找一个叫做package.json的包配置文件;
(4)在package.json文件中,查找一个main属性【main属性指定了这个包在被加载时候的入口文件】;

3、在webpack中尝试使用vue:
在webpack中,使用import Vue from "vue"导入的vue构造函数,功能不完整,只提供了runtime-only的方式,并没有提供像网页中那样的使用方式;

第一种正确使用vue的方式:

import Vue from "../node_modules/vue/dist/vue.js"  //使用这个也可以

第二种正确使用vue的方式:
在main.js中:

import Vue form "vue"

在webpack.config.js文件中:

	resolve:{
    
    //修改vue被导入时的包的路径
		alias:{
    
    
			"vue":"vue/dist/vue.js"
		}
	}

在这里插入图片描述

webpack结合vue使用组件

(1)安装vue的包,npm install vue -S;
(2)由于在webpack中,推荐使用.vue这个组件模板文件定义组件,所以,需要安装能解析这种文件的loader :npm install vue-loader vue-template-compiler -D;在webpack.config.js文件中进行配置;
vue-loader配置还需要加个VueLoaderPlugin,不然会报错:
在这里插入图片描述
(3)建一个login.vue的文件;

<template>
</template>
<script>
	var login = {
      
      
	            template:"<h1>这是组件</h1>"
	        };
	let app = new Vue({
      
      
	    el: "#app",
	    data: {
      
      },
	
	    // 在webpack 中,如果想要通过vue,把一个组件放到页面中去展示,vue实例中的render函数可以实现
	    render: function (createElement) {
      
        
	        return createElement(login);
	    }
	})

</script>
<style>
</style>

(4)在main.js里面导入vue模块,和自定义的login组件
在这里插入图片描述
(5)在页面中创建一个id为app的div元素,作为我们实例要控制的区域;
运行报错图:
在这里插入图片描述
检查发现是index.html里面引用的js文件位置错了,手写的vue.js要在最后引入;
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/baidu_39043816/article/details/120432198