В моем проекте React мне нужно разделить модели (интерфейсы машинописного текста в моем случае) между 3 проектами машинописного текста. Поэтому я выбрал bit.env и импортировал все свои модели в https://bit.dev/model/index/~code, и все в порядке.
Затем мне нужно было проверить поля в моей модели, поэтому я добавил служебные функции в https://bit.dev/model/index/~code#util .ts и развернул то же самое в bit.env
Я столкнулся со следующей ошибкой, когда попытался использовать эту вспомогательную функцию в своем проекте № 2 (место, где я храню облако firebase функций).
/Users/vinoth.gopu/Documents/mine/oss/Cloud/functions/node_modules/@bit/model.index/dist/index.js:1
export * from './admin';
^^^^^^
SyntaxError: Unexpected token 'export'
at wrapSafe (internal/modules/cjs/loader.js:1101:16)
at Module._compile (internal/modules/cjs/loader.js:1149:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1205:10)
Мой код в проекте # 2
export const placeOrder = functions
.runWith({
memory:'256MB'
})
.region(cloudConfig.firebase.region)
.firestore
.document('Orders/{OrderId}')
.onCreate((snap, context) => {
const orderDetails = snap.data() as UserOrders;
try {
//check if all fields of interface implemented
if(isOrder(orderDetails)) { // PROBLEM HERE
//do something
}
Как указано в приведенном выше коде, я могу использовать все интерфейсы из этого модельного проекта, но сообщение об ошибке вспомогательной функции.
Я сослался на эти статьи и ссылки
- Получение неожиданного экспорта токена
- https://medium.com/the-node-js-collection/an-update-on-es6-modules-in-node-js-42c958b890c
Но ни один из них, похоже, не работает (также я был немного смущен, какой проект нуждается в общей модели транспиляции или Project # 2 в моем случае?). Я понимаю, что это какая-то проблема с узлом, где он не может распознать модуль ES6 и требует какой-то промежуточной транспиляции. Но мне интересно, как все интерфейсы с похожим оператором export
работают очень хорошо. Я хотел бы понять, что мне здесь не хватает.