uniapp引入less报错如何解决
在uniapp项目中引入less时遇到报错,错误提示如下:Module parse failed: Unexpected character '@'。已经安装了less和less-loader,并在vue.config.js中配置了loader,但依然报错。请问如何正确配置uniapp项目以支持less语法?是否需要其他特殊设置?
2 回复
在项目根目录安装less和less-loader:
npm install less less-loader --save-dev
然后在vue.config.js中配置:
module.exports = {
css: {
loaderOptions: {
less: {
javascriptEnabled: true
}
}
}
}
在UniApp中引入Less报错通常是由于缺少相关依赖或配置不正确导致的。以下是常见解决方案:
1. 安装Less依赖
npm install less less-loader --save-dev
2. 配置vue.config.js 在项目根目录创建/修改vue.config.js文件:
module.exports = {
transpileDependencies: ['@dcloudio/uni-ui'],
configureWebpack: {
module: {
rules: [
{
test: /\.less$/,
use: [
'style-loader',
'css-loader',
'less-loader'
]
}
]
}
}
}
3. 在页面中使用Less 在vue文件的style标签中添加lang=“less”:
<style lang="less">
.container {
color: red;
.title {
font-size: 16px;
}
}
</style>
常见错误及解决:
- 如果提示“找不到模块”:检查node_modules是否完整,可删除后重新npm install
- HBuilderX用户:需要在工具-插件安装中安装less编译插件
- 版本兼容问题:可尝试指定版本
npm install less@3.12.2 less-loader@6.2.0 --save-dev
注意事项:
- 确保package.json中已正确添加依赖
- 重启开发服务器使配置生效
- 检查项目路径中是否包含特殊字符
完成以上步骤后,重新运行项目即可正常使用Less语法。

