Angular2 + Webpack DefinePlugin не работает?

node.js angular webpack

2507 просмотра

1 ответ

89 Репутация автора

Я попытался запустить приложение Angular2 из учебника на сайте angular.io

Angular2 с учебником по Webpack на angular.io

Установка работала хорошо (с несколькими икотами, это Ubuntu 14.04 LTS ), но я дошел до того, что задача запуска npm работает, сервер работает, и даже приложение работает в браузере, пока что все хорошо. Но

Каждый раз, когда я запускаю npm start , я получаю следующие 2 ошибки в терминале И в консоли браузера:

ERROR in ./src/polyfills.ts
(4,5): error TS2304: Cannot find name 'process'.

ERROR in ./src/main.ts
(7,5): error TS2304: Cannot find name 'process'.

Если вы посмотрите учебное пособие, объясняется, как создавать конфиги веб-пакетов, есть webpack.common.js, webpack.prod.js и webpack.dev.js. В файле webpack.prod.js создается переменная с этим кодом:

const ENV = process.env.NODE_ENV = process.env.ENV = 'production';
new webpack.DefinePlugin({
    'process.env': {
        'ENV': JSON.stringify(ENV)
    }
})

В main.ts и polyfills.ts переменная ссылается на это:

if (process.env.ENV === 'production') {
    enableProdMode();
}

но кажется, что Typings не знает, как внедрить эти переменные, созданные с помощью webpack.DefinePlugin в скомпилированный Javascript (вот что я думаю, я, возможно, ошибаюсь)

Если кто-то столкнулся с той же проблемой, или кто-то может помочь мне с этим, я был бы очень благодарен! (Весь код взят из учебника, так что любой, кто пробовал учебник, мог столкнуться с той же проблемой, я думаю ?!)

Благодарю вас!

Автор: chriszichrisz Источник Размещён: 18.07.2016 09:30

Ответы (1)


14 плюса

141 Репутация автора

У меня была та же проблема здесь (делать то же учебник). Чтобы решить эту проблему, я создал файл с именем typings.d.ts в той же папке, где находится typings.json (этот файл будет включен компилятором по умолчанию), и добавил к нему следующее объявление:

declare var process: any;

Надеюсь, это поможет! :)

Автор: Marcio Silva Размещён: 16.08.2016 01:42
Вопросы из категории :
32x32