module.exports导出问题

在使用module.exports的时候遇到一个问题

1.不报问题的代码
tools.js

var tools = {
    getStyle: function (obj, name) {
        // return obj.currentStyle[name];
        return 123;
    }
}
module.exports = tools;

Aboute.vue

<template>
  <div class="about"></div>
</template>
<script>
import {getStyle} from '@/utils/tools'
export default {
    name: 'About',
    mounted () {
        console.log(getStyle());
    }
}
</script>

结果:没问题
图片描述

2.报问题的代码
tools.js

var tools = {
    getStyle: function (obj, name) {
        return obj.currentStyle[name];
        // return 123;
    }
}
module.exports = tools;

About.vue同上,一点都不变
结果:报错了
图片描述
图片描述

这个moudle.exports应该怎么使用呀!!!

阅读 4.2k
3 个回答

tools.js的11行在哪?

getStyle接收两个参数,如果不传递obj的会,会直接报错。
你调用的时候传参数看看?

import tools from '@/utils/tools'

mounted () {
        console.log(tools.getStyle());
    }

因为我想要的是:既可以import tools from '...';引入整个对象。又可以import {getStyle} from '...';引入指定的方法。

现在我找到一个办法
tools.js

var tools = {
    a: function () {
        console.log('kjjsak')
    }
}
export const a = tools.a;
export default tools;

About.vue

<template>
  <div class="about"></div>
</template>
<script>
import {a} from '@/utils/tools';
import tools from '@/utils/tools';
export default {
    name: 'About',
    mounted () {
        console.log(a);
        console.log(tools);
    }
}
</script>

这样就可以两种方法都能引入了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题