const { transformSync } = require("@babel/core");
const fs = require('fs');
const babelTransform = {
transformCode: (_, code) => transformSync(`(function(){${code}}())`, {
filename: "",
ast: false,
retainLines: true,
babelrc: true,
compact: true,
minified: true
}).code.replace(/;$/,'')
};
const addBabelTransform = (options) => {
const { compilerOptions } = options;
const modules = compilerOptions && compilerOptions.modules ? compilerOptions.modules.concat(babelTransform) : [babelTransform];
return {
...options,
compilerOptions: {
...compilerOptions,
modules
}
}
}
module.exports = {
chainWebpack: config => {
config.module
.rule('vue')
.use('vue-loader')
.tap(addBabelTransform);
},
}
const {password, ...rest} = user;
console.log(password);
console.log(rest);
return rest;
components: { Vmanufacturers }
- это сокращённая запись для:components: { "Vmanufacturers": Vmanufacturers }
<Vmanufacturers ...>
, либо версию преобразованную по правилам camel-kebab, т.е. <vmanufacturers ...>
(без тире, заметьте), либо таки переименовать по правилам: components: { "vManufacturers": Vmanufacturers }
, либо, наконец, сразу импортировать как надо:import vManufacturers from "@/components/information/v-manufacturers";
// ...
components: {
vManufacturers
}
.vue
по умолчанию просто Vue
, без конкретизации свойств и прочего. Чтобы были нормальные ts-типы их надо отдельно генерировать. Для этого есть либа vuedts, она не идеальна, но свою работу делает.then
там, или ещё что), то для этого есть встроенный хэлпер:const f = data => Promise.resolve({data});
async
с тем же успехом:const f = async data => ({data});
getSpecialData
точно асинхронная, то можно опустить async await
(потому что оные - всего лишь сахар над Promise
, если функция так или иначе возвращает Promise
- она асинхронна(и наоборот), напоминать ей об этом не надо):getData({params}) {return getSpecialData(p, {params})}
params
и если p
не меняется можно просто забиндить, :getData: getSpecialData.bind(null, p)
getData: wParams => getSpecialData(p, wParams)
params
должен быть единственным ключом - аналогично:getData: ({params}) => getSpecialData(p, {params})
await
можно опустить в любом случае:async getData({params}) {return getSpecialData(p, {params})}
getData: async wParams => getSpecialData(p, wParams)
getData: async ({params}) => getSpecialData(p, {params})
immediate: true
- чтоб при первой загрузке тож запустилось).