vuejs使用vux出错Module build failed: Error: Cannot find module 'less'
首先来说明使用场景和错误重现,因为vue使用中出错后对于新手来说定位错误是非常困难的一件事。
本次出错的使用场景是这样的:
使用vux来构建一个移动端的应用,在使用vux的loading来做页面切换中的loading时出现了如题所说的错误。
错误提示
错误解释
Module build failed: Error: Cannot find module ‘less’
这句话不难理解,构建模块时出错,具体的错误是less模块找不到。
错误分析
那么什么是less模块呢?
我们同时再来看同时报出的错误
从该图可以看出button-tab组件也报出了这样的错误,而事实上我们并没有改动button-tab组件
那我们看详细的错误信息。
@ ./node_modules/vue-style-loader!./node_modules/css-loader?{"sourceMap":false}!./node_modules/vue-loader/lib/style-compiler?{"vue":true,"id":"data-v-d2b7f8b6","scoped":false,"hasInlineConfig":false}!./node_modules/less-loader/dist/cjs.js?{"sourceMap":false}!.
问题解决
其实导致这个问题的主要原因是因为我们的vux项目中没有配置vux-loader这个在vux2.x中必须要配置使用的。在手册中有说明:
如何来配置
先来看看build/webpack.bask.conf.js文件本来的样子
'use strict'
const path = require('path')
const utils = require('./utils')
const config = require('../config')
const vueLoaderConfig = require('./vue-loader.conf')function resolve (dir) {return path.join(__dirname, '..', dir)
}module.exports = {context: path.resolve(__dirname, '../'),entry: {app: './src/main.js'},output: {path: config.build.assetsRoot,filename: '[name].js',publicPath: process.env.NODE_ENV === 'production'? config.build.assetsPublicPath: config.dev.assetsPublicPath},resolve: {extensions: ['.js', '.vue', '.json'],alias: {'vue$': 'vue/dist/vue.esm.js','@': resolve('src'),}},module: {rules: [{test: /\.vue$/,loader: 'vue-loader',options: vueLoaderConfig},{test: /\.js$/,loader: 'babel-loader',include: [resolve('src'), resolve('test')]},{test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,loader: 'url-loader',options: {limit: 10000,name: utils.assetsPath('img/[name].[hash:7].[ext]')}},{test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,loader: 'url-loader',options: {limit: 10000,name: utils.assetsPath('media/[name].[hash:7].[ext]')}},{test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,loader: 'url-loader',options: {limit: 10000,name: utils.assetsPath('fonts/[name].[hash:7].[ext]')}}]}
}
按照要求先将原有的module.exports赋值给任何一个变量。改变后的配置
'use strict'
const path = require('path')
const utils = require('./utils')
const config = require('../config')
const vueLoaderConfig = require('./vue-loader.conf')function resolve (dir) {return path.join(__dirname, '..', dir)
}const vuxLoader = require('vux-loader')
const webpackConfig = {context: path.resolve(__dirname, '../'),entry: {app: './src/main.js'},output: {path: config.build.assetsRoot,filename: '[name].js',publicPath: process.env.NODE_ENV === 'production'? config.build.assetsPublicPath: config.dev.assetsPublicPath},resolve: {extensions: ['.js', '.vue', '.json'],alias: {'vue$': 'vue/dist/vue.esm.js','@': resolve('src'),}},module: {rules: [{test: /\.vue$/,loader: 'vue-loader',options: vueLoaderConfig},{test: /\.js$/,loader: 'babel-loader',include: [resolve('src'), resolve('test')]},{test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,loader: 'url-loader',options: {limit: 10000,name: utils.assetsPath('img/[name].[hash:7].[ext]')}},{test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,loader: 'url-loader',options: {limit: 10000,name: utils.assetsPath('media/[name].[hash:7].[ext]')}},{test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,loader: 'url-loader',options: {limit: 10000,name: utils.assetsPath('fonts/[name].[hash:7].[ext]')}}]}
}module.exports = vuxLoader.merge(webpackConfig, {plugins: ['vux-ui']
})
vuejs使用vux出错Module build failed: Error: Cannot find module 'less'相关推荐
- Module build failed: Error: Cannot find module ‘node-sass‘ Require stack报错解决
Module build failed: Error: Cannot find module 'node-sass' Require stack报错解决 异常信息 解决方法 设置用淘宝镜像下载 npm ...
- VUE报错:Module build failed: Error: Cannot find module ‘node-sass‘
报错代码: Module build failed: Error: Cannot find module 'node-sass'at Function.Module._resolveFilename ...
- vue项目报错,解决Module build failed: Error: Cannot find module ‘node-sass‘ 问题
vue项目报错,解决Module build failed: Error: Cannot find module 'node-sass' 问题 参考文章: (1)vue项目报错,解决Module bu ...
- 解决Module build failed: Error: Cannot find module ‘node-sass‘Require stack
in ./src/components/main/mainFirm.vueModule build failed: Error: Cannot find module 'node-sass' Requ ...
- Module build failed: Error: Cannot find module 'XXX'
解决: 在项目目录下打开命令窗口,安装确实的文件(其他缺少的文件安装方法也类似如此) npm install node-sass
- vue启动报错Module build failed: Error: ENOENT: no such file or directory
vue启动项目报错,一大坨 如下 Module build failed: Error: ENOENT: no such file or directory, scandir '/Users/son ...
- vue报错:Module build failed: Error: Node Sass does not yet support your current environment: Windows
Module build failed: Error: Node Sass does not yet support your current environment: Windows 64-bit ...
- Vue项目启动webpack报错Module build failed: Error: No PostCSS Config found in......
自己写的公司项目,今天需要提交到公司版本库,可是在本地启动正常的项目,拷贝到git文件目录下突然报错Module build failed: Error: No PostCSS Config foun ...
- Module build failed: Error: Node Sass version 5.0.0 is incompatible with ^4.0.0.
Module build failed: Error: Node Sass version 5.0.0 is incompatible with ^4.0.0. node-sass版本过高导致的,卸载 ...
最新文章
- win7利用remote连接服务器,显示发生身份验证错误 要求的函数不受支持
- HDU 1011-Starship Troopers(树形背包)
- hp服务器安装exsi5.5
- 有没有高效的记视频笔记方法?--天若OCR文字识别记视频笔记
- error和exception
- ASP.NET性能优化小结(ASP.NETC#)(转)
- [有限元]虚位移原理和虚力原理的证明的统一逻辑
- Leetcode算法题(C语言)12--旋转图像
- ListView setOnItemClickListener无法响应点击事件解决
- 禁止Apache列出目录内容
- DOM获取元素、事件基础、操作元素、节点操作
- jQuery 学习-样式篇(九):jQuery 存储和删除元素私有数据的方法
- 利用PlayerPrefs存储数据
- html5 页面整体居中,html5标题居中 DIV布局怎么在页面水平居中
- 齐次线性方程组与非齐次线性方程组的区别
- java排座位程序_java随机排座位
- 核心路由器十项性能指标与路由器简介
- 前端实战:利用CSS+HTML实现B站用户名片样式
- 以用户体验五要素的思路,如何编写产品需求文档(PRD)
- vue工作日历考勤记录表
热门文章
- 阿里腾讯京东华为纷纷发力,互联网医疗究竟有何吸引力?
- photoshop(ps)换证件照背景色
- Android TextView中显示彩虹字
- 凯哥自媒体赚钱秘籍:百家号怎么快速做爆文?
- 27. 黑客常用端口利用总结
- WordPress函数:wp_list_bookmarks()友情链接
- 百亿级实时查询优化实战,让你的Elasticsearch飞起来
- 最新版三菱FX3U PLC生产方案源码v10 FX3U源码
- 能量启发模型:从负采样到自监督学习NEG-NCE-GAN-SSL家族
- 不容错过的20周年科技盛会将至 全球聚焦节能环保big party