Note17 vue項目搭建坑坑坑(二)

坑二: scss文件引入
vue 和 webpack升級之后,scss的引入方式有些變化,一些配置需要自己手動寫入,否則出錯。
官方文檔寫的很清楚了,只不過以前沒有仔細(xì)看。
總結(jié):多看官方文檔Using Pre-Processors
具體記錄如下:
npm install sass-loader node-sass --save-dev 如果npm 安裝出錯,可以用從cnpm。

build/webpack.base.conf.js中修改rules:

/* 默認(rèn)代碼如下:
{
  test: /\.vue$/,
  loader: 'vue-loader',
  options: vueLoaderConfig
}
*/
//  改為如下:
{
  test: /\.vue$/,
  loader: 'vue-loader',
  options: {
    loaders: {
      scss: 'vue-style-loader!css-loader!sass-loader', // <style lang="scss">
      sass: 'vue-style-loader!css-loader!sass-loader?indentedSyntax' // <style lang="sass">
    }
  }
}

.vue中使用:

<style lang="sass">  / *  lang="scss" */
  /* write sass here */
</style>

引入外部 .scss 文件,需要:
npm install sass-resources-loader --save-dev
然后修改 build/utils.jsgenerateLoaders(loader, loaderOptions) 方法中的返回值,即 return 對象。

  return {
    css: generateLoaders(),
    postcss: generateLoaders(),
    less: generateLoaders('less'),
    sass: generateLoaders('sass', { indentedSyntax: true }),
    scss: generateLoaders('sass').concat(
      {
        loader: 'sass-resources-loader',
        options: {
          resources: path.resolve(__dirname, '../src/styles/index.scss')
        }
      }
    ),
    stylus: generateLoaders('stylus'),
    styl: generateLoaders('stylus')
  }

注釋:
../src/styles/index.scss指定 scss文件路徑(ex:src/index.scss)。

推薦閱讀資料: [譯] Vue 2.0 的變化(一)之基本 API 變化

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容