vue2dojo

1.0.1032 • Public • Published

vue 单文件组件转dojo文件,只是简单的代码风格转换

用法

vue2dojo -i 'input path' -o 'output path'

暂时仅支持template、script、style标签。只是简单的风格转换,不涉及到任何编译

vue文件:

<template>
  <div class="vue-demo-button" title="VUE测试按钮" @click="clickHdl">
    <i class="el-icon-success"></i>
  </div>
</template>
<script>
export default {
  name: "vueButton",
  methods: {
    clickHdl() {
      // do something
    }
  }
};
</script> 
<!-- 支持scoped -->
<style scoped>
.vue-demo-button {
  width: 50px;
  height: 50px;
  background-color: var(--main-color);
}
</style> 

转换后的js文件

define([], function () {
  //----------------------------模板----------------------------//
  var templateStr = `  <div class="vue-demo-button" title="VUE测试按钮" @click="clickHdl">
    <i class="el-icon-success"></i>
  </div>`;
  //----------------------------样式----------------------------//
  (function() {
    if (!document.getElementById('vueSButton_cjbvqm1jsho')) {
      var head = document.getElementsByTagName('head').item(0);
      var styleNode = document.createElement('style');
      var rules = document.createTextNode('.vue-demo-button {   width: 50px;   height: 50px;   background-color: var(--main-color); }');
      styleNode.type = 'text/css';
      styleNode.id = 'vueSButton_cjbvqm1jsho';
      if (styleNode.styleSheet) {
        styleNode.styleSheet.cssText = rules.nodeValue;
      } else {
        styleNode.appendChild(rules);
      }
      head.appendChild(styleNode);
    }
  })();
  //----------------------------代码主题----------------------------//
  return  {
    template: templateStr,
      name: "vueButton",
      methods: {
        clickHdl() {
          // do something
        }
      }
    };
})

Readme

Keywords

Package Sidebar

Install

npm i vue2dojo

Weekly Downloads

2

Version

1.0.1032

License

MIT

Unpacked Size

31.8 kB

Total Files

9

Last publish

Collaborators

  • xiongotom