#vue.js #module #vuejs2 #vue-router
#vue.js #модуль #vuejs2 #vue-маршрутизатор
Вопрос:
Я пишу две функции в модуле для использования в некоторых разделах гибридного мобильного приложения. Имя модуля «functs.js «:
module.exports = {
TRUNCATE_LETTERS (txt,max) {
const limit = max || 15;
const text = (txt amp;amp; 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 amp;amp; 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, все идет нормально, но при раскомментировании я получаю эту ошибку в командной строке:
warning in ./src/views/Offers.vue?vueamp;
type=scriptamp;lang=jsamp;
"export 'TRUNCATE_LETTERS' was not found
in '@/components/functs'
Я протестировал две функции в отдельном HTML-файле и не получил никаких ошибок.
Есть ли что-то, чего я не видел? Мне нужно усечь слова, а не буквы.
Спасибо за любую помощь.
Ответ №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";
Комментарии:
1. После долгих проб и ошибок (даже используя ваш пример) В конце концов я предпочел экспортировать каждую функцию и использовать «import { TRUNCATE_WORDS, … } from ‘@/components/functs'». Теперь все идет нормально. Спасибо за вашу помощь. 🙂
2. Что ж. Теперь я получаю много предупреждений, в том числе от новой функции, которую добавлю позже: предупреждение в ./src/components/nav.vue?vueamp;type=scriptamp;lang=jsamp; «экспорт ‘RANDOM_ID’ не был найден в ‘@/components/functs’
3. Извините, я лучше продолжу экспортировать каждую функцию, потому что этот способ работает для меня. 🙂