我在模块中编写了两个函数,以用于混合移动应用程序的某些部分。模块名称为“ 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文件中测试了这两个函数,但未收到任何错误。
有没有我看不到的东西吗?我需要截断单词而不是字母。
谢谢您。
答案 0 :(得分: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";