欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue-cli4使用全局less文件中的變量配置操作

 更新時間:2020年10月21日 12:06:05   作者:朽木自雕xmzd  
這篇文章主要介紹了vue-cli4使用全局less文件中的變量配置操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

目錄結(jié)構(gòu)如下:

需求:

在Navgation.vue中使用global.less中的變量

vue-cli3的配置方法如下:傳送門

vue-cli4的配置方法如下:

安裝 style-resources-loader

npm i style-resources-loader -D

在 vue.config.js 中加上如下配置,沒有則創(chuàng)建該文件,文件名不能改,如下:

// vue.config.js
const path = require('path')
 
module.exports = {
 lintOnSave: false,
 chainWebpack: config => {
 const types = ['vue-modules', 'vue', 'normal-modules', 'normal']
 types.forEach(type => addStyleResource(config.module.rule('less這里寫你的樣樣式類型').oneOf(type)))
 },
}
 
function addStyleResource (rule) {
 rule.use('style-resource')
 .loader('style-resources-loader')
 .options({
  patterns: [
  path.resolve(__dirname, './src/assets/css/global.less這里寫你的全局樣式地址'),
  ],
 })
}

補充知識:vue項目中配置LESS全局變量注入

在日常項目中,很多人都用到了css預(yù)處理器 ,如sass,less, stylus,處理樣式非常方便,尤其是嵌套,變量,函數(shù)等,讓我們書寫css非常nice,在項目中一般會建立一個樣式文件夾(此處用less),存放公共樣式和公共變量如項目主體色,字體大小等等的變量,但是在項目中使用這些變量的時候通常都要在style標(biāo)簽內(nèi)用@import '***/***/***/***.less';這樣的方式來導(dǎo)入公共變量,頁面一多,每個頁面一般都需要引入就會感到很繁瑣,所以此處就用到webpack的一些配置來達(dá)到全局注入,單個文件不需要單獨引入的目的。

此處說下自己用的之前的腳手架版本的配置

在build文件夾下的webpack.base.conf.js文件中修改,主要借助了sass-resources-loader。

配置的時候還需要在問價頭部引入path,const path = require('path')

然后在module模塊下進(jìn)行配置

module: {
  resolve: {
  extensions: ['.ts', '.js', '.vue', '.json'],
  // 順帶說下 此處可以配置路徑別名,以后引入文件就不需要../../../這樣了,直接@/就可以了,代表src下的路徑,當(dāng)然可設(shè)置多個,可自行配制
  alias: {
   '@': utils.resolve('src')
  }
  },
  ///
 rules: [
   ...(config.dev.useEslint ? [createLintingRule()] : []),
   // /-------------
  {
   test: /\.less$/,
   use: [{
    loader: process.env.NODE_ENV === 'production' ? MiniCssExtractPlugin.loader : 'vue-style-loader'
   }, {
    loader: 'css-loader',
    options: {
    sourceMap: cssSourceMap
    }
   }, {
    loader: 'less-loader',
    options: {
    sourceMap: cssSourceMap
    }
   }
   //此處開始------/ 
   {
    loader: 'sass-resources-loader',
    options: {
    resources: [
     path.resolve(__dirname, '此處寫自己配置的公共變量文件路徑,比如../src/themes/publicStyle/common.less')
    ]
    }
    //此處結(jié)束-------/ 
   }]
  },

然后說下自己查資料研究的cli3下的全局變量注入

cli3 與之前的cli不一樣了,build和config文件沒有了 ,所有的配置都需要在自己新建的vue.config.js文件里進(jìn)行配置,具體配置官方文檔和各種資料都很詳細(xì),在這就不詳述了,在這就說下自己練手的一些配置,僅供參考,主要看全局變量注入那塊,主要用的是style-resources-loader ,npm i style-resources-loader -D

const path = require("path");
function resolve(dir) {
 return path.join(__dirname, dir);
}
module.exports = {
 publicPath: "./",
 outputDir: "dist",
 assetsDir: "assets",
 indexPath: "index.html",
 filenameHashing: true,
 pages: undefined,
 lintOnSave: true,
 runtimeCompiler: false,
 transpileDependencies: [],
 productionSourceMap: false,
 crossorigin: undefined,
 integrity: false,
 devServer: {
 proxy: {
  "/api": {
  target: "************",
  changeOrigin: true,
  pathRewrite: { "^/api": "" }
  }
 }
 },
 // ------------------此處開始,以下是全局變量注入的配置--------------
 chainWebpack: config => {
 config.resolve.alias.set("@assets", resolve("src/assets"))
 // 這里只寫了兩個個,你可以自己再加,按這種格式.set("", resolve(""))
 const types = ["vue-modules", "vue", "normal-modules", "normal"]
 types.forEach(type =>
  addStyleResource(config.module.rule("less").oneOf(type))
 );
 },
 css: {
 loaderOptions: {
  less: {
  javascriptEnabled: true
  }
 }
 }
};
function addStyleResource(rule) {
 rule
 .use("style-resource")
 .loader("style-resources-loader")
 .options({
  patterns: [
  path.resolve(__dirname, "src/styles/index.less") // 需要全局導(dǎo)入的less
  ]
 })
}

大家一起加油! 如有不對之處,請大家不吝賜教。

之后看到另一個后臺管理系統(tǒng)的配置,發(fā)現(xiàn)另一種配法 (cli3)

安裝less less-loader style-resources-loader

npm install -D less-loader less
npm i style-resources-loader
npm i vue-cli-plugin-style-resources-loader

安裝完后,在vue.config.js中配置

const path = require('path');
module.exports = {
 pluginOptions: {
  'style-resources-loader': {
   preProcessor: 'less',
   patterns: [
    // 這個是加上自己的路徑,不能使用(如下:alias)中配置的別名路徑
    path.resolve(__dirname, './src/style/params.less')
   ]
  }
 },
 ……
 其他配置
 ……
}

安裝的時候也可以方法二:直接使用vue add style-resources-loader安裝,vue add pluginName 是vue-cli3提供的。

vue add 是用yarn安裝插件的, yarn源的問題有可能導(dǎo)致失敗。

如果安裝失敗的話,就上面分別安裝的方法來

以上這篇vue-cli4使用全局less文件中的變量配置操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue的方法和屬性案例詳解

    Vue的方法和屬性案例詳解

    這篇文章主要介紹了Vue的方法和屬性案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • 五分鐘理解keep?alive用法及原理

    五分鐘理解keep?alive用法及原理

    這篇文章主要為大家介紹了keep?alive用法及原理示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • vue路由組件按需加載的幾種方法小結(jié)

    vue路由組件按需加載的幾種方法小結(jié)

    這篇文章主要介紹了vue路由組件按需加載的幾種方法小結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • vue中關(guān)于@media媒體查詢的使用

    vue中關(guān)于@media媒體查詢的使用

    這篇文章主要介紹了vue中關(guān)于@media媒體查詢的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue插件mescroll.js實現(xiàn)移動端上拉加載和下拉刷新

    vue插件mescroll.js實現(xiàn)移動端上拉加載和下拉刷新

    這篇文章主要介紹了vue插件mescroll.js實現(xiàn)移動端上拉加載和下拉刷新,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • 在vue中使用回調(diào)函數(shù),this調(diào)用無效的解決

    在vue中使用回調(diào)函數(shù),this調(diào)用無效的解決

    這篇文章主要介紹了在vue中使用回調(diào)函數(shù),this調(diào)用無效的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Vue.js實戰(zhàn)之組件之間的數(shù)據(jù)傳遞

    Vue.js實戰(zhàn)之組件之間的數(shù)據(jù)傳遞

    這篇文章主要介紹了Vue.js實戰(zhàn)之組件之間的數(shù)據(jù)傳遞的相關(guān)資料,文中通過示例代碼和圖文介紹的非常詳細(xì),對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-04-04
  • vue實現(xiàn)公告消息橫向無縫循環(huán)滾動

    vue實現(xiàn)公告消息橫向無縫循環(huán)滾動

    這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)公告消息橫向無縫循環(huán)滾動,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Vue+Element-UI中el-table動態(tài)合并單元格:span-method方法代碼詳解

    Vue+Element-UI中el-table動態(tài)合并單元格:span-method方法代碼詳解

    el-table是element-ui提供的表格組件,可以用于展示和操作數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于Vue+Element-UI中el-table動態(tài)合并單元格:span-method方法的相關(guān)資料,需要的朋友可以參考下
    2023-09-09
  • vue3一個元素如何綁定兩個或多個事件

    vue3一個元素如何綁定兩個或多個事件

    這篇文章主要介紹了vue3一個元素如何綁定兩個或多個事件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11

最新評論