Я пытаюсь создать инструмент nodeJS, чтобы помочь мне проанализировать другой исходный код AngularJS.
Идея состоит в том, чтобы:
- читать некоторые файлы javascript углового проекта
- для каждого файла, захватить содержимое
eval
содержимое из файла
- сделать что-нибудь
Проблема, с которой я сталкиваюсь, заключается в том, что мой исходный код Angular использует функции es6, такие как import
, export
, arrow functions
, ... и т. Д. и я использую nodeJS, который пока не поддерживает эти функции.
Итак, я попытался использовать @babel/core
transform()
из моего кода приложения Node, но он не работает. Я получаю сообщение об ошибке типа Unexpected identifier
, что означает, что он не понимает синтаксис import {stuff} from 'here';
.
srcFiles.forEach(content => {
try {
(function() {
eval(require("@babel/core").transform(content.text).code)
}.call(window, angular));
} catch (e) {
console.log(e);
}
});
Пример тестового файла:
import _ from 'loadash';
console.log("I'm a file with import and export");
export const = 42;
Есть идеи, как я могу заставить эту штуку работать? Или, может быть, другой подход?