2017-02-16 5 views
1

Раньше я использовал умный index.js файл:Как конвертировать умный запрос на импорт?

var all = { ..... }; 

module.exports = _.merge(all, 
    require('./' + process.env.NODE_ENV + '.js') || {}); 

Чтобы импортировать мои настройки Env baed на NODE_ENV, и где у меня есть файлы, такие как:

development.js 
production.js 
shared.js 
... 

И когда я сделал require() для этого файла index.js, я получил переменные env, которые я хотел, на основе моей установки NODE_ENV.

Есть ли способ сделать это с ES6 и импортировать ???

ответ

0

В конце концов, мне нужно было использовать другое решение для ES6. Вы можете сделать declare require(package: string);, который будет привязан к правильному методу после перевода в обычный js для браузера. Затем выполните:

let foo_package = require('foo'); 

, но это кажется немного сложнее. Вместо этого я создал:

development.ts 
test.ts, 
production.ts 

и

import development from 'development'; 
import test from 'test'; 
import production from 'production'; 

export function choose(env: string) { 
    switch(env) { 
     case 'development': 
     return development; 
     case 'test' 
     return test; 
     case 'production': 
     return production; 
     default: 
     throw Error(`choose 'development', 'test', or 'production'!); 
    } 
} 

Это работало так же хорошо и не нуждались в равнине JS;

+0

Вместо «switch» вы можете создать карту поиска как '{development, test, production}' – Bergi

+0

Я использую Map во многих других местах, и мне это нравится. Какое преимущество - это переключение? Просто ваши мысли? Я предполагаю, что это примерно столько же кода и немного больше памяти? Но, может быть, есть еще? – JoelParke

+0

Значительно меньше кода и удобство обслуживания - это мои мысли :-) – Bergi

 Смежные вопросы

  • Нет связанных вопросов^_^