自定义模块中找不到的功能 - VueJS

问题描述 投票:0回答:1

我在一个模块中编写了两个函数,用于混合移动应用程序的某些部分。模块名称为“functs.js”:

module.exports = {
    TRUNCATE_LETTERS (txt,max) {
        const limit = max || 15;
        const text = (txt && txt.trim()) ? txt.trim() : '';
        const dots = '...';
        let resp = '';

        if ( txt.length > limit ) 
        {
            resp = txt.substring(0, limit) + ' ' + dots;
        } else {
            resp = text + ' ' + dots;
        }

        return resp;
    },

    TRUNCATE_WORDS (txt,max) {
        const limit = max || 10;
        const text = (txt && txt.trim()) ? txt.trim() : '';
        const dots = '...';
        let resp = '';

        const arr = text ? text.split(' ') : [];
        let newArr = [];

        if ( arr.length > limit ) 
        {
            for ( let i = 0; i < limit; i++ )
            {
                newArr.push( arr[i] );
            }

            resp = newArr.join(' ') + ' ' + dots;
        } else {
            resp = text + ' ' + dots;
        }

        return resp;
    }
}

当我调用TRUNCATE_LETTERS并注释TRUNCATE_WORDS一切正常但在取消注释时我在CLI上收到此错误:

warning  in ./src/views/Offers.vue?vue&
type=script&lang=js&

"export 'TRUNCATE_LETTERS' was not found
 in '@/components/functs'

我在一个单独的HTML文件中测试了这两个函数,但没有收到任何错误。

有没有我没见过的东西?我需要截断单词而不是字母。

谢谢你的帮助。

vue.js module vuejs2 vue-router
1个回答
1
投票

这是正确的语法:

module.exports = {
  TRUNCATE_LETTERS: function(txt,max) { ... },
  TRUNCATE_WORDS: function(txt,max) { ... }
}

Use :
    const { TRUNCATE_LETTERS, TRUNCATE_WORDS } = require("/path/mymodule");

    or

    const TRUNCATE_LETTERS = require("/path/mymodule").TRUNCATE_LETTERS ;

使用VueJs中的导出默认/导入:

const truncate = {
  TRUNCATE_LETTERS: function(txt,max) { ... },
  TRUNCATE_WORDS: function(txt,max) { ... }
}

export default truncate;

Use:
  import truncate from "/path/mymodule";
  truncate.TRUNCATE_LETTERS(...);

  or

  import { TRUNCATE_LETTERS, TRUNCATE_WORDS } from "/path/mymodule";
© www.soinside.com 2019 - 2024. All rights reserved.