资讯专栏INFORMATION COLUMN

mpvue中sass全局变量配置

zhongmeizhi / 462人阅读

摘要:安装修改根目录下添加该项修改相应路径添加该项修改修改

安装loader
   cnpm i sass-loader sass-resources-loader --save-dev
修改根目录下/build/utils.js
var path = require("path")
var config = require("../config")
var ExtractTextPlugin = require("extract-text-webpack-plugin")

exports.assetsPath = function (_path) {
  var assetsSubDirectory = process.env.NODE_ENV === "production"
    ? config.build.assetsSubDirectory
    : config.dev.assetsSubDirectory
  return path.posix.join(assetsSubDirectory, _path)
}

exports.cssLoaders = function (options) {
  options = options || {}

  var cssLoader = {
    loader: "css-loader",
    options: {
      minimize: process.env.NODE_ENV === "production",
      sourceMap: options.sourceMap
    }
  }

  var postcssLoader = {
    loader: "postcss-loader",
    options: {
      sourceMap: true
    }
  }

  var px2rpxLoader = {
    loader: "px2rpx-loader",
    options: {
      baseDpr: 1,
      rpxUnit: 0.5
    }
  }
  //添加该项
  var sassResourceLoader = {
    loader: "sass-resources-loader",
    options: {
      resources: [
      //修改相应路径
        path.resolve(__dirname, "../src/styles/index.scss"),
      ]
    }
  }
  //添加该项

  // generate loader string to be used with extract text plugin
  function generateLoaders (loader, loaderOptions, anotherLoader) {
    var loaders = [cssLoader, px2rpxLoader, postcssLoader]
    if (loader) {
      loaders.push({
        loader: loader + "-loader",
        options: Object.assign({}, loaderOptions, {
          sourceMap: options.sourceMap
        })
      })
    }

    if(!!anotherLoader) loaders.push(anotherLoader);

    // Extract CSS when that option is specified
    // (which is the case during production build)
    if (options.extract) {
      return ExtractTextPlugin.extract({
        use: loaders,
        fallback: "vue-style-loader"
      })
    } else {
      return ["vue-style-loader"].concat(loaders)
    }
  }

  // https://vue-loader.vuejs.org/en/configurations/extract-css.html
  return {
    css: generateLoaders(),
    wxss: generateLoaders(),
    postcss: generateLoaders(),
    less: generateLoaders("less"),
    //修改
    sass: generateLoaders("sass", { indentedSyntax: true },sassResourceLoader),
    scss: generateLoaders("sass",{},sassResourceLoader),
    //修改
    stylus: generateLoaders("stylus"),
    styl: generateLoaders("stylus")
  }
}

// Generate loaders for standalone style files (outside of .vue)
exports.styleLoaders = function (options) {
  var output = []
  var loaders = exports.cssLoaders(options)
  for (var extension in loaders) {
    var loader = loaders[extension]
    output.push({
      test: new RegExp("." + extension + "$"),
      use: loader
    })
  }
  return output
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/99404.html

相关文章

  • mpVue配置sass全局变量

    摘要:参考了网上的几种方法,我总结了一种最简洁的的方法确保有安装这个包,,,没有的话就安装修改的配置文件修改处开始此路径就是你定义全局变量的路径,可随你自己的更改修改处结束重新运行一下就了。 参考了网上的几种方法,我总结了一种最简洁的的方法:1、确保有安装这3个包sass-loader,node-sass,sass-resources-loader:,没有的话就安装: npm install...

    didikee 评论0 收藏0
  • 珠峰前端架构师培养计划

    摘要:公司的招聘要求都提到了至少熟悉其中一种前端框架,有前端工程化与模块化开发实践经验相关字眼。我们主要从端公众号移动端小程序三大平台进行前端的技术选型,并来说说选其技术的几大优势。技术的优势互联网前端大潮后,前端出现了大框架,分别是与。 1、技术选型的背景前端技术发展日新月异,互联网上出现的新型框架也比较多,如何让新招聘的人员...

    ccj659 评论0 收藏0
  • mpvue开发小程序的那点小事

    摘要:是由美团点评团队开发的,是一个使用开发小程序的前端框架。对于拥有开发经验的开发者,使用开发小程序那是一种不错的体验。 mpvue mpvue是由美团点评团队开发的, 是一个使用 Vue.js 开发小程序的前端框架。框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 实现。 对于拥有Vue开发经验的开发者,使用mpvue开发小程序那是...

    zorro 评论0 收藏0
  • 微信小程序mpvue框架总结

    摘要:原理架构作为与之间相互通信的桥梁部分在环境中注入的实现代码,包含了协议的拼装发送参数池回调池等一些基础功能。部分在客户端中的功能映射代码,实现了拦截与解析环境信息的注入通用功能映射等功能。 原理架构 JSBridge 作为native 与 JS 之间相互通信的桥梁JS部分(bridge): 在JS环境中注入 bridge 的实现代码,包含了协议的拼装/发送/参数池/回调池等一些基础功能...

    microelec 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<