首先来说明使用场景和错误重现,因为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'相关推荐

  1. Module build failed: Error: Cannot find module ‘node-sass‘ Require stack报错解决

    Module build failed: Error: Cannot find module 'node-sass' Require stack报错解决 异常信息 解决方法 设置用淘宝镜像下载 npm ...

  2. VUE报错:Module build failed: Error: Cannot find module ‘node-sass‘

    报错代码:  Module build failed: Error: Cannot find module 'node-sass'at Function.Module._resolveFilename ...

  3. vue项目报错,解决Module build failed: Error: Cannot find module ‘node-sass‘ 问题

    vue项目报错,解决Module build failed: Error: Cannot find module 'node-sass' 问题 参考文章: (1)vue项目报错,解决Module bu ...

  4. 解决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 ...

  5. Module build failed: Error: Cannot find module 'XXX'

    解决: 在项目目录下打开命令窗口,安装确实的文件(其他缺少的文件安装方法也类似如此) npm install node-sass

  6. 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 ...

  7. 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 ...

  8. Vue项目启动webpack报错Module build failed: Error: No PostCSS Config found in......

    自己写的公司项目,今天需要提交到公司版本库,可是在本地启动正常的项目,拷贝到git文件目录下突然报错Module build failed: Error: No PostCSS Config foun ...

  9. 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版本过高导致的,卸载 ...

最新文章

  1. win7利用remote连接服务器,显示发生身份验证错误 要求的函数不受支持
  2. HDU 1011-Starship Troopers(树形背包)
  3. hp服务器安装exsi5.5
  4. 有没有高效的记视频笔记方法?--天若OCR文字识别记视频笔记
  5. error和exception
  6. ASP.NET性能优化小结(ASP.NETC#)(转)
  7. [有限元]虚位移原理和虚力原理的证明的统一逻辑
  8. Leetcode算法题(C语言)12--旋转图像
  9. ListView setOnItemClickListener无法响应点击事件解决
  10. 禁止Apache列出目录内容
  11. DOM获取元素、事件基础、操作元素、节点操作
  12. jQuery 学习-样式篇(九):jQuery 存储和删除元素私有数据的方法
  13. 利用PlayerPrefs存储数据
  14. html5 页面整体居中,html5标题居中 DIV布局怎么在页面水平居中
  15. 齐次线性方程组与非齐次线性方程组的区别
  16. java排座位程序_java随机排座位
  17. 核心路由器十项性能指标与路由器简介
  18. 前端实战:利用CSS+HTML实现B站用户名片样式
  19. 以用户体验五要素的思路,如何编写产品需求文档(PRD)
  20. vue工作日历考勤记录表

热门文章

  1. 阿里腾讯京东华为纷纷发力,互联网医疗究竟有何吸引力?
  2. photoshop(ps)换证件照背景色
  3. Android TextView中显示彩虹字
  4. 凯哥自媒体赚钱秘籍:百家号怎么快速做爆文?
  5. 27. 黑客常用端口利用总结
  6. WordPress函数:wp_list_bookmarks()友情链接
  7. 百亿级实时查询优化实战,让你的Elasticsearch飞起来
  8. 最新版三菱FX3U PLC生产方案源码v10 FX3U源码
  9. 能量启发模型:从负采样到自监督学习NEG-NCE-GAN-SSL家族
  10. 不容错过的20周年科技盛会将至 全球聚焦节能环保big party