Error: Unable to dynamically transpile ES module (babel plugin)


0

Здравейте,

От няколко дена се боря с един проблем, който се изразява в това,че не може динамично да се транспайлне код.

Error

Офлайн мога да транспайлвам от дадена папка в друга.

Изчетох доста по форуми, обаче не намирам решение никъде. Конфиг файла е конфигуриран ок, чекнах пътищата към модулите и те са ок.

SystemJS.config({
map: {
'plugin-babel': '../../node_modules/systemjs-plugin-babel/plugin-babel.js',
'systemjs-babel-build': '../../node_modules/systemjs-plugin-babel/systemjs-babel-browser.js'
},
transpiler: 'plugin-babel'
});

При нашето решение, node_modules се намира в една долна папка от static content'a, но и това не би трябвало да е проблем тъй като съм дефинирал 2 статични папки : 


app.use("/public", express.static(__dirname + '/public'));
app.use("/node_modules", express.static(__dirname + 'public/node_modules'));





Отговори



0

В express, дефинирайки статична папка, ти задаваш и път за нея, което ти е първия аргумент.

app.use("path/to/be/used", express.static("real path"));

Тоест - ти в момента както си направил сървъра можеш просто да напишеш "node_modules/systemjs-....", не е нужно да се връщаш две папки назад, за да влезеш в node_modules.

Другото което виждам, е че като цяло ти разкриваш node_modules два пъти, тъй като според това което си показал - намира се в папката public, но това не би трябвало да е главния проблем, просто пътя, с който реферираш бабел е грешен.

При мен е така (работещо):

// Folder structure: // root // -> public // -> node_modules (outside of public) // -> more stuff // In server.js app.use("/", express.static("public")); app.use("/node_modules", express.static("node_modules")); // In system-config.js System.config({ transpiler: "plugin-babel", map: { "plugin-babel": "node_modules/systemjs-plugin-babel/plugin-babel.js", "systemjs-babel-build": "node_modules/systemjs-plugin-babel/systemjs-babel-browser.js", //....................


от IvanS1991 (80 точки)


0
Промених статичните файлове и в момента пали импорта. Благодаря на всички включили се! :) 

от rhm17 (25 точки)


0

Мисля, че проблемът ти е в жълтия хайлайт:

 'plugin-babel': '../../node_modules/systemjs-plugin-babel/plugin-babel.js'

Ти специално mount-ваш /node_modules "serverside", чрез

app.use("/node_modules", express.static(__dirname + 'public/node_modules'));

за да можеш да си спестиш някакви релативни пътища в достигането на ресурси, когато си "clientside".



от tinman (481 точки)


0

Здравей колега,

Пробвах и така, уви пак същата грешка. :/


от rhm17 (25 точки)