nuxt.js 使用ant-design-vue 自定义主题配置及错误处理及@vue/cli 4.5.13中nuxt.js警告问题【2021-8-6】

ant-design-vue 自定义主题

本博主验证的环境是:

  1. node v14.17.1
  2. @vue/cli 4.5.13

less less-loader 版本建议:

npm i less@3 -D
npm i less-loader@4 -D

方法一:nuxt.config.js 中配置自定义less变量

配置nuxt.config.js 文件中的 css属性和 build 属性

css:[
	{
		src:'ant-design-vue/dist/antd.less', // 一定引入less文件否则自定义颜色不生效!!!
		lang:'less'
	}
]
build:{
	loaders:{
		      less: {
			      modifyVars: {
			      	 // 可参考官网定制主题之在 vue cli 3 中定制主题 
	          		'link-color': '#333',
	         		'border-radius-base':0,
	        		'body-background': '#fff',
	      			'layout-body-background': '#fff',
	         		},
		         javascriptEnabled: true,
		      },
		    }
		}

}

方法二:自定义less文件覆盖原有的less变量

1.在assets文件中创建一个自定义主题的less文件,并引入ant-design-vue的less文件

// 一定要引入 mode_modules 文件中的less文件!!!!!【否则会报下文的报错2信息】

@import '../node_modules/ant-design-vue/dist/antd.less'; 	[@import后要有空格,末尾要加分号。否则可能报错]

// 自定义变量

@border-radius-base:0;

2、配置nuxt.config.js 文件

css:[
	//将原有默认引入的 ant-design-vue/dist/antd.css 注释掉
	// 全局引入自己自定义的主题文件
	{
		src:'~/assets/index.less',  
		lang:'less'
	}

]
build:{
	loaders:{
		      less: {
		        javascriptEnabled: true,
		      },
		    }
		}
}

报错处理

1、.bezierEasingMixin(); 问题

在这里插入图片描述

解决:

在nuxt.config.js的build中配置以下属性

build: {
	.......
		loaders:{
		      less: {
		        javascriptEnabled: true,
		      },
		    }
		}
	.......

2、Module build failed (from ./node_modules/less-loader/dist/cjs.js): friendly-errors 10:43:58

@import ‘ant-design-vue/dist/antd.less’;
^
Can’t resolve ‘./ant-design-vue/dist/antd.less’ in ‘D:\project\assets’
在这里插入图片描述

原因

找不到ant-design-vue的less文件

解决

要引入mode_modules中的less文件

@import '../node_modules/ant-design-vue/dist/antd.less';

如果按照以上方式配置还是报错那就请使用 less 3版本 和 less-loader 4 版本

@vue/cli 4.5.13中运行nuxt.js疯狂报警告问题解决

警告:

Though the “loose” option was set to “false” in your @babel/preset-env config, it will not be used for @babel/plugin-proposal-private-property-in-object since the “loose” mode option was set to “true” for @babel/plugin-proposal-private-methods.
The “loose” option must be the same for @babel/plugin-proposal-class-properties, @babel/plugin-proposal-private-methods and @babel/plugin-proposal-private-property-in-object (when they are enabled): you can silence this warning by explicitly adding

解决:

配置nuxt.config.js 文件

 babel:{
       plugins:[
         ["@babel/plugin-proposal-private-methods", { "loose": true }],
       ],
    },
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Nuxt.js使用vue-seamless-scroll,首先需要在plugins目录下创建一个vue-seamless-scroll.js文件,并在文件导入Vue和SeamlessScroll组件,然后使用Vue.use(SeamlessScroll)进行注册。 接下来,在nuxt.config.js文件的plugins配置添加如下内容: ```javascript plugins: [ '@/plugins/element-ui', '@/plugins/axios', { src: '@/plugins/vue-seamless-scroll', ssr: false }, ] ``` 这样就可以将vue-seamless-scroll插件引入Nuxt.js项目了。 然后,在需要使用滚动组件的文件使用`<vue-seamless-scroll>`标签,并传入相应的数据和类名等参数。例如: ```html <vue-seamless-scroll :data="runningData" :class-option="scrollOption" class="scroll-container"> <div class="flex-row" v-for="item in runningData" :key="item.id"> <span class="row-1 row-nomal">{{ item.mbShowName }}</span> <span class="row-2 row-nomal">{{ item.mbShowVal }}</span> <span class="row-3 row-nomal">{{ item.updateTime | dateFilter }}</span> </div> </vue-seamless-scroll> ``` 这样就可以在Nuxt.js使用vue-seamless-scroll组件了。 如果你在公司的基于Nuxt.js的项目使用滚动组件后刷新页面出现"window is not defined"的错误,可能是因为滚动组件依赖于浏览器环境,而在服务器端渲染时无法访问到window对象。解决这个问题可以将ssr选项设置为false,如前面的配置所示。这样就可以避免在服务器端渲染时出现该错误。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [在 Nuxt使用滚动组件 vue-seamless-scroll](https://blog.csdn.net/weixin_44769310/article/details/116144924)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值