最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解如何在Javascript和Sass之間共享變量

 更新時間:2019年11月13日 14:30:13   作者:jason1992  
這篇文章主要介紹了詳解如何在Javascript和Sass之間共享變量,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

在環(huán)境之間共享變量是編程的圣杯。以下是在Javascript和

Sass(或CSS?。┲g共享變量的方法。

隨著大型單頁應(yīng)用程序的興起,Javascript和CSS越來越交織在一起。通常在兩個值之間復(fù)制值(例如,與React的CSSTransitionGroup一起使用的動畫持續(xù)時間或?qū)⑵放祁伾珎鬟f到圖形庫中)。但是,保持兩個具有相同值的副本不可避免地導(dǎo)致僅更新一個副本并最終導(dǎo)致令人沮喪的錯誤。幸運的是,使用webpack和CSS模塊,有更好的方法。在此博客文章中,我們將通過上述示例為共享動畫持續(xù)時間,探討如何在腳本和樣式之間共享變量CSSTransitionGroup。

第一步是安裝我們的依賴項:

npm install sass-loader node-sass webpack --save-dev

接下來,我們需要配置webpack以便使用,sass-loader以便我們可以從Javascript訪問我們的Sass代碼。

  // webpack.config.js
  module.exports = {
   module: {
    rules: [
     {
      test: /\.css$/,
      use: ['style-loader', 'css-loader', 'sass-loader']
     }
    ]
   }
  }

現(xiàn)在開始有趣的部分。我們在Sass中定義實際的變量值,并將其導(dǎo)出到Javascript。CSS模塊有一個名為的簡潔實用程序:export。該:export指令的工作原理基本上類似于ES6的export關(guān)鍵字。您的Sass代碼將導(dǎo)出一個對象,其中包含要在Javascript中使用的變量名稱及其關(guān)聯(lián)的值。這些值都導(dǎo)出為字符串。

  // styles/animation.scss
  $animation-length: 250;
  $animation-length-ms: $animation-length + 0ms;

  :export {
   animationMillis: $animation-length-ms;
  }

  .component-enter {
   ...

   transition: all $animation-length-ms ease-in;
  }

您會注意到,我們首先在一個變量中聲明整數(shù)值,然后在另一個變量中將0ms其添加。這樣一來,我們就只能導(dǎo)出,"250"而不是"250ms"在Javascript方面更容易解析(將0ms數(shù)字強制將其“類型”插入ms)。

現(xiàn)在,在Javascript中,我們只需要從樣式表中導(dǎo)入樣式,然后從導(dǎo)出的變量中解析出一個int即可!

// js/animation.js
import styles from '../styles/animation.scss'
import CSSTransitionGroup from 'react-transition-group/CSSTransitionGroup'

const millis = parseInt(styles.animationMillis)

...

<CSSTransitionGroup
 transitionName="component"
 transitionEnterTimeout={millis}
 transitionLeaveTimeout={millis}
/>

...

這種方法非常簡單,但是當(dāng)您避免在Javascript和Sass之間同步更改的麻煩時,它會成倍地回報。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

抚州市| 元阳县| 博湖县| 隆昌县| 兴业县| 肥城市| 土默特左旗| 县级市| 滦平县| 舞钢市| 岱山县| 鄂州市| 临清市| 杂多县| 松江区| 宣城市| 介休市| 米脂县| 桃源县| 萝北县| 将乐县| 克山县| 舟曲县| 仙桃市| 珠海市| 常州市| 东方市| 奈曼旗| 获嘉县| 高清| 曲阜市| 杭锦旗| 莫力| 临颍县| 噶尔县| 平陆县| 青冈县| 凤台县| 宁都县| 神木县| 阿图什市|