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

相关文章

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

HTML中meta标签的常见使用案例(示例详解)

《HTML中meta标签的常见使用案例(示例详解)》HTMLmeta标签用于提供文档元数据,涵盖字符编码、SEO优化、社交媒体集成、移动设备适配、浏览器控制及安全隐私设置,优化页面显示与搜索引擎索引... 目录html中meta标签的常见使用案例一、基础功能二、搜索引擎优化(seo)三、社交媒体集成四、移动

HTML input 标签示例详解

《HTMLinput标签示例详解》input标签主要用于接收用户的输入,随type属性值的不同,变换其具体功能,本文通过实例图文并茂的形式给大家介绍HTMLinput标签,感兴趣的朋友一... 目录通用属性输入框单行文本输入框 text密码输入框 password数字输入框 number电子邮件输入编程框

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

HTML5 中的<button>标签用法和特征

《HTML5中的<button>标签用法和特征》在HTML5中,button标签用于定义一个可点击的按钮,它是创建交互式网页的重要元素之一,本文将深入解析HTML5中的button标签,详细介绍其属... 目录引言<button> 标签的基本用法<button> 标签的属性typevaluedisabled