Vue单文件引入、webpack的配置及错误处理

2024-05-09 16:58

本文主要是介绍Vue单文件引入、webpack的配置及错误处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 1. 安装vue:

cnpm i vue -S

2. 安装vue-loader、vue-template-compiler:

cnpm i vue-loader@14.1.1 vue-template-compiler@2.5.17 -D

提示:peerDependencies WARNING vue-loader@14.1.1 requires a peer of css-loader@* but none was installed。按照提示安装css-loader及其依赖的style-loader:

cnpm install css-loader@0.28.11 style-loader@0.23.1 -D

3. 执行:npm run build,报错(1):

nternal/modules/cjs/loader.js:968throw err;^Error: Cannot find module 'array-includes'
Require stack:
- E:\kaikevue\04single-file\node_modules\_webpack-dev-server@2.10.0@webpack-dev-server\lib\polyfills.js
- E:\kaikevue\04single-file\node_modules\_webpack-dev-server@2.10.0@webpack-dev-server\bin\webpack-dev-server.jsat Function.Module._resolveFilename (internal/modules/cjs/loader.js:965:15)at Function.Module._load (internal/modules/cjs/loader.js:841:27)at Module.require (internal/modules/cjs/loader.js:1025:19)at require (internal/modules/cjs/helpers.js:72:18)at Object.<anonymous> (E:\kaikevue\04single-file\node_modules\_webpack-dev-server@2.10.0@webpack-dev-server\lib\polyfills.js:6:18)at Module._compile (internal/modules/cjs/loader.js:1137:30)at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)at Module.load (internal/modules/cjs/loader.js:985:32)at Function.Module._load (internal/modules/cjs/loader.js:878:14)at Module.require (internal/modules/cjs/loader.js:1025:19) {code: 'MODULE_NOT_FOUND',requireStack: ['E:\\kaikevue\\04single-file\\node_modules\\_webpack-dev-server@2.10.0@webpack-dev-server\\lib\\polyfills.js','E:\\kaikevue\\04single-file\\node_modules\\_webpack-dev-server@2.10.0@webpack-dev-server\\bin\\webpack-dev-server.js']
}
npm ERR! code 1
npm ERR! path E:\kaikevue\04single-file
npm ERR! command failed
npm ERR! command C:\Windows\system32\cmd.exe /d /s /c webpack-dev-server --open --hot --inlinenpm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\dell\AppData\Local\npm-cache\_logs\2021-09-23T07_39_07_998Z-debug.log

(1)解决办法:

删除项目中node_modules文件夹 ,

执行 npm cache clean 命令清除掉cache缓存,

npm install 重新安装依赖后,npm run build运行项目。

我在执行 npm cache clean的时候又报错(2):

npm ERR! As of npm@5, the npm cache self-heals from corruption issues
npm ERR! by treating integrity mismatches as cache misses.  As a result,
npm ERR! data extracted from the cache is guaranteed to be valid.  If you
npm ERR! want to make sure everything is consistent, use `npm cache verify`
npm ERR! instead.  Deleting the cache can only make npm go slower, and is
npm ERR! not likely to correct any problems you may be encountering!
npm ERR!
npm ERR! On the other hand, if you're debugging an issue with the installer,
npm ERR! or race conditions that depend on the timing of writing to an empty
npm ERR! cache, you can use `npm install --cache /tmp/empty-cache` to use a
npm ERR! temporary cache instead of nuking the actual one.
npm ERR!
npm ERR! If you're sure you want to delete the entire cache, rerun this command
npm ERR! with --force.npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\dell\AppData\Local\npm-cache\_logs\2021-09-23T07_59_18_134Z-debug.log

(2)解决办法:

执行:

npm cache clean --force

或者:

npm cache clear --force && npm install --no-shrinkwrap --update-binary

最后执行npm run build,成功编译。

4. 目录及文件代码

index.html:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><div id="app"></div></body>
</html>

 main.js:

// npm i vue的引入
import Vue from 'vue';
import App from './App.vue';new Vue({el: '#app',//Render函数:使用虚拟dom来渲染节点提升性能,因为它是基于JavaScript计算.//通过使用createElement(h)来创建dom节点,createElement是render的核心方法.其Vue编译的时候会把template里面的节点解析成虚拟dom;render: c => c(App)
});

App.vue:

<template><!-- 模板 --><div> <!-- 只能有一个root -->{{ msg }}</div>
</template><script>
// 逻辑export default {data () {return {msg: 'hello Vue'}}}
</script><style>
/* 样式 */body {background-color: cyan;}
</style>

 webpack.config.js:

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');module.exports = {// 入口文件entry: {'main': './src/main.js'},// 出口文件output: {path: path.resolve('./dist'), //相对转绝对filename: 'build.js'},// 模块module: {loaders: [{test: /\.css$/,loader: 'style-loader!css-loader'},{//处理 es6,7,8test: /\.js$/,loader: 'babel-loader',// 排除node_modules下js文件的转换exclude: /node_modules/,options: {presets: 'env', // 处理关键字plugins: 'transform-runtime'  // 处理函数}},{test: /\.vue$/,loader: 'vue-loader'}]},// 插件plugins: [new HtmlWebpackPlugin({template: './src/index.html' // 参照物、模板})]
}

 package.json:

{"name": "03es6","version": "1.0.0","description": "","main": "index.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1","build": "webpack-dev-server --open --hot --inline","dev": "webpack"},"keywords": [],"author": "","license": "ISC","devDependencies": {"babel-core": "^6.26.3","babel-loader": "^7.1.5","babel-plugin-transform-runtime": "^6.23.0","babel-preset-env": "^1.7.0","css-loader": "^0.28.11","html-webpack-plugin": "^2.24.1","style-loader": "^0.23.1","vue": "^2.6.14","vue-loader": "^14.1.1","vue-template-compiler": "^2.5.17","webpack": "^3.12.0","webpack-dev-server": "^2.10.0"},"dependencies": {"vue": "^2.6.14"}
}

 注意事项:

在package.json中的脚本,使用webpack-dev-server的脚本执行后,相应的代码会读进内存,不会在当前目录下产生dist文件夹。

 

这篇关于Vue单文件引入、webpack的配置及错误处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/973961

相关文章

IDEA 中配置junit

Junit4 主要用来执行java程序的单元测试: 1 安装junit4插件     因为我安装过了,没有安装的再输入框搜索,然后安装就行     2 选择默认使用Junit4       3 红框中的test去掉,变为“$entry.packageName”   4 新建一个普通的类,随便写点东西,然后光标在类名上点一下,然后“alt+insert”,根据图进行选择

IDEA中使用maven配置mybatis-------mybatis(一)

IDEA下通过maven配置mybatis 创建maven项目,路径为:file–setting-maven–maven-archetye-webapp; 创建mybatis目录,按箭头所示依次点击,创建一个mybatis的文件编写目录 修改pom.xml配置文件,刚开始可能红框中的字体为红色,等待maven自动下载完成之后即可 mysql客户端配置 添加log4j <

Maven无法下载、mirror配置、mvn不是内部命令

maven无法下载 Inspects a Maven model for resolution problems jar资源下载出错,原因肯定是各种各样,下面提供几个解决方案: 如果有vpn的话,尝试配置vpn后,再次配置pom.xml 尝试配置其他镜像库,比如说:阿里云(setting文件的mirrors中添加入下图) mvn不是内部命令 在winodws中使用各种各样的命令,出现频率

vue3显示element-plus所有icon

效果 代码 <template><div style="display: flex;flex-wrap: wrap"><component :is="name" style="width: 2rem; margin-left: 2rem" v-for="(name,index) in icons" :index="index" :key="index"></component></div>

bimface开发实战-vue版

效果 演示地址 框架 bimface + vue3.0 代码地址 gitee地址 使用 yarn install yarn serve

vue3.0 v-model 的使用

前言 组件功能:把 el-switch 的值 false/true, 动态绑定输出为 0, 1 组件代码 封装el-switch组件,当el-switch的值为false,输出值为0;当el-switch的值为true,输出值为1; <template><el-switch v-model="switchValue" @change="changeEvent"></el-switch

SpringBoot 学习二:项目属性配置

默认配置的端口是8080,但是有时候8080端口会被系统其他程序占用,所以我们最好配置一个不常用的端口。 1、配置端口 在resources目录下新建一个application.yml文件 打开applicationl.yml文件,里面是空白的,在里面添加端口: server:port: 8081 重新运行一下程序,在浏览器里面将端口号改成8081,能访问成功,则说明设置生效了。

Vue学习笔记:拦截器

原文地址 Vue可以对http request和http response添加全局拦截,最典型的例子就是在请求头里添加token,和监测是否登录,如果没有登录则跳转到登录页面。 main.js中添加拦截器的代码: 1. request 拦截器 //request 拦截器,在请求头中加tokenaxios.interceptors.request.use(config => {if (lo

css3属性之background-size兼容ie8方案

解决方案 在ie8浏览器可能背景图片无法自适应全屏,这时候加入设置filter属性即可解决问题,同时加入height:100 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title><style>.bg{background: #EAEAEA;height: 100%;background

nginx制作检查配置bat文件

新增脚本nginx.bat文件 nginx安装文件位置 nignx.bat内容如下: cls@ECHO OFFSET NGINX_PATH=D:SET NGINX_DIR=D:\DevSoft\nginx-1.17.0\color 0aTITLE Nginx管理程序GOTO MENU:MENUCLSECHO.ECHO. * * * * Nginx Management