溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

vue項(xiàng)目中常見問題及解決方案(推薦)

發(fā)布時(shí)間:2020-09-27 12:21:45 來源:腳本之家 閱讀:196 作者:鄒瓊俊 欄目:web開發(fā)

webpack項(xiàng)目中自動(dòng)引入全局scss變量文件

  假設(shè)我們有一個(gè)公共的scss變量文件variables.scss

/*存放所有全局變量*/
$card-title:#C7D200; //首頁 卡片標(biāo)題顏色
$bc-color:#182037;
$hoverColor: #7abef9; //鏈接hover顏色
$fontColor: #E6EFFF; //字體顏色-白色
  webpack要識(shí)別scss,需要先安裝sass的loader
npm install --save-dev sass-loader
//sass-loader依賴于node-sass
npm install --save-dev node-sass

  在頁面中需要用到這些自定義變量的時(shí)候,每次都需要顯示引入:

  @import '@/assets/scss/variables.scss';

  這樣操作起來非常麻煩,我們可以通過sass-resources-loader來自動(dòng)引入。

  sass-resources-loader可以訪問sass資源任何一個(gè)需要訪問的sass模塊。所以,可以使用共享變量和混合所有SASS樣式,而不去每個(gè)文件都引用。安裝:

npm install --save-dev sass-resources-loader

  然后在 build 文件夾下找到 util.js 修改sass編譯器loader的配置,直接把下面的代碼復(fù)制進(jìn)去即可:

 // 全局文件引入 當(dāng)然只想編譯一個(gè)文件的話可以省去這個(gè)函數(shù)
  function resolveResource(name) {
    return path.resolve(__dirname, '../src/assets/scss/' + name);
  }
  function generateSassResourceLoader() {
    var loaders = [
      cssLoader,
      'sass-loader',
      {
        loader: 'sass-resources-loader',
        options: {
          // 多個(gè)文件時(shí)用數(shù)組的形式傳入,單個(gè)文件時(shí)可以直接使用 path.resolve(__dirname, '../src/assets/scss/variables.scss'
          resources: [resolveResource('variables.scss')] //variables
        }
      }
    ];
    if (options.extract) {
      return ExtractTextPlugin.extract({
        use: loaders,
        fallback: 'vue-style-loader'
      });
    } else {
      return ['vue-style-loader'].concat(loaders);
    }
  }
  return {
    css: generateLoaders(),
    postcss: generateLoaders(),
    less: generateLoaders('less'),
    // vue-cli默認(rèn)sass配置
    // sass: generateLoaders('sass', { indentedSyntax: true }),
    // scss: generateLoaders('sass'),
    // 新引入的sass-resources-loader
    sass: generateSassResourceLoader(),
    scss: generateSassResourceLoader(),
    stylus: generateLoaders('stylus'),
    styl: generateLoaders('stylus')
  };
......

vue-cli3 一直運(yùn)行 /sockjs-node/info?t= 解決方案

D:\WorkSpace\ui-admin\node_modules\sockjs-client\dist\sockjs.js,找到代碼1601行,注釋掉代碼self.xhr.send(payload);

 try {
  //self.xhr.send(payload);
 } catch (e) {

這樣就可以了

解決vue中的NavigationDuplicated {_name: "NavigationDuplicated", name: "NavigationDuplicated"}

在引入vue-router的界面中添加如下代碼:

const originalPush = Router.prototype.push;
Router.prototype.push = function push(location) {
 return originalPush.call(this, location).catch(err => err);
};

總結(jié)

以上所述是小編給大家介紹的vue項(xiàng)目中常見問題及解決方案,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)億速云網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI