multiple importar functions es6 clases javascript gulp ecmascript-6 babeljs

javascript - importar - Exportar clase es6 en Babel-No se puede encontrar el módulo



import javascript (1)

He visto estas dos respuestas en SO:

Exportar una clase con ES6 (Babel)

Intentando exportar una clase como módulo ES6 babel

No estoy usando Browserify, solo Gulp and Node, solo quería prefacio.

Estructura de archivo / carpeta:

./

./gulpfile.js

./_TRAGO

./_GULP/main_config.es6

./_GULP/_classes/Gcfg.es6

Configuración de pregunta

Estoy exportando un archivo de clase Gcfg.es6 , así:

export default class Gcfg { constructor() { this.rootDir = ''./''; this.latestDir = ''./_LATEST/''; this.srcFolder = ''./_SRC/''; ... } getSrcDir(dir="") { return this.srcFolder + dir; } ... }

En main_config.es6 estoy intentando importar:

import Gcfg from ''_classes/Gcfg'';

Después de esta publicación de GitHub:

https://github.com/babel/babel/issues/849

Supuse que estaba haciendo todo correctamente. Estoy usando WebStorm y tengo una configuración de "File Watcher" para ejecutar Babel al guardar un archivo .es6. No estoy haciendo ningún lujo, las únicas banderas opcionales que estoy usando son:

--source-maps y --out-file $FileNameWithoutExtension$.js $FilePath$

$ FileNameWithoutExtension $ .js es una variable de la aplicación WebStorm y solo el archivo está siendo cargado por el vigilante y $ FilePath $ es la ruta absoluta al archivo.

Entonces el comando se ve así (creo que en realidad no lo veo ejecutado):

babel --source-maps --out-file main_config.js ./_GULP/ etc para los otros archivos ...

Todos los archivos son procesados ​​bien por babel, creo. Veo las exportaciones y lo necesito en el JS generado.

tl; dr

En gulpfile.js estoy haciendo:

gCfg = require(''./_GULP/main_config''); <- ¡esto requiere trabajos!

Sin embargo, cuando intento ejecutar GULP, falla inmediatamente y en la consola obtengo:

Error: Cannot find module ''_classes/Gcfg'' at Function.Module._resolveFilename (module.js:336:15) at Function.Module._load (module.js:286:25) at Module.require (module.js:365:17) at require (module.js:384:17) at Object.<anonymous> (/Users/xxx/xxx/xxx/xxx/xxx/_GULP/main_config.js:9:20) at Module._compile (module.js:434:26) at Object.Module._extensions..js (module.js:452:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Module.require (module.js:365:17) at require (module.js:384:17)

La pregunta

¿Por qué no puedo exportar la clase en Gcfg.es6 e importarla a main.es6 usando es6 import / export? ¿Se necesita un relleno policristalino (estoy cargando bable / polyfill)? ¿Es que tengo _ en mi camino? He estado luchando en esto por mucho tiempo.

¡Gracias!


Bueno, por una cosa que tienes:

import Gcfg from ''_classes/Gcfg'';

Si está compilando en CommonJS y no tiene ninguna configuración especial, Node intentará cargar node_modules/_classes/Gcfg . Probablemente quieras:

import Gcfg from ''./_classes/Gcfg'';