2017-02-09 2 views
1

Я слежу за угловым documentation о том, как использовать webpack 2 с угловым 2. Мой код (github src here) настроен на сценарий webpack.dev.js.TS2304 с Webpack 2 и Angular 2

Запуск Dev сборки с помощью npm start (т.е. webpack-dev-server --inline --progress --port 8080) дает ряд TS2304 ошибок, таких как

ERROR in [at-loader] src\app\app.component.ts:5:15 
    TS2304: Cannot find name 'require'. 

ERROR in [at-loader] src\app\app.component.ts:6:14 
    TS2304: Cannot find name 'require'. 

Что происходит не так?

+0

Попробовал удалить @types и вместо этого использовать типовые обозначения. Все равно получайте те же ошибки. Должно быть, отсутствует что-то простое. –

+0

Итак, просто клонированный угловой быстрый старт, и, похоже, нет проблем с его построением и запуском. –

ответ

5

удостоверьтесь, что вы установили @types/node.

затем напишите "types": ["jasmine","node"] в tsconfig.json файле , после чего эта ошибка удаляется.

Потому что такая же ошибка также обращена мной. это решение работает для меня.

мой tsconfig.json

{ 
    "compilerOptions": { 
    "target": "es5", 
    "module": "commonjs", 
    "moduleResolution": "node", 
    "sourceMap": true, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "lib": ["es2015", "dom"], 
    "noImplicitAny": true, 
    "suppressImplicitAnyIndexErrors": true, 
    "types": ["jasmine","node"] 
    } 
} 

и package.json

{ 
    "name": "webpackCreator", 
    "version": "1.0.0", 
    "description": "A webpack starter for Angular", 
    "scripts": { 
    "start": "webpack-dev-server --inline --progress --port 8080", 
    "test": "karma start", 
    "build": "rimraf dist && webpack --config config/webpack.prod.js --progress --profile --bail" 
    }, 
    "license": "MIT", 
    "dependencies": { 
    "@angular/common": "~2.4.0", 
    "@angular/compiler": "~2.4.0", 
    "@angular/core": "~2.4.0", 
    "@angular/forms": "~2.4.0", 
    "@angular/http": "~2.4.0", 
    "@angular/platform-browser": "~2.4.0", 
    "@angular/platform-browser-dynamic": "~2.4.0", 
    "@angular/router": "~3.4.0", 
    "core-js": "^2.4.1", 
    "rxjs": "5.0.1", 
    "zone.js": "^0.7.4" 
    }, 
    "devDependencies": { 
    "@types/jasmine": "^2.5.41", 
    "@types/node": "^6.0.45", 
    "angular2-template-loader": "^0.6.0", 
    "awesome-typescript-loader": "^3.0.0-beta.18", 
    "css-loader": "^0.26.1", 
    "extract-text-webpack-plugin": "2.0.0-beta.5", 
    "file-loader": "^0.9.0", 
    "html-loader": "^0.4.3", 
    "html-webpack-plugin": "^2.16.1", 
    "jasmine-core": "^2.4.1", 
    "karma": "^1.2.0", 
    "karma-jasmine": "^1.0.2", 
    "karma-phantomjs-launcher": "^1.0.2", 
    "karma-sourcemap-loader": "^0.3.7", 
    "karma-webpack": "^2.0.1", 
    "null-loader": "^0.1.1", 
    "phantomjs-prebuilt": "^2.1.7", 
    "raw-loader": "^0.5.1", 
    "rimraf": "^2.5.2", 
    "style-loader": "^0.13.1", 
    "typescript": "~2.0.10", 
    "webpack": "2.2.0", 
    "webpack-dev-server": "2.2.0-rc.0", 
    "webpack-merge": "^2.4.0" 
    } 
} 
+0

Добавил это, но без радости (я думаю, что компилятор машинописного текста должен забрать их по умолчанию). Можете ли вы опубликовать свои 'tsconfig.json' и, возможно,' package.json'? Посмотрите, есть ли какие-либо различия - thnx. –

+0

Итак, теперь у нас есть идентичные файлы 'tsconfig.json' и' package.json', но я все равно получаю все эти ошибки. Из интереса какая версия 'node' вы установили? –

+0

В настоящее время у меня есть узел v6.9.1 и npm 3.10.8 –

1

Вам нужно Node.js типизации.

npm install @types/node --save-dev

+0

Довольно уверен, что у меня это есть, см. Мой 'package.json' [здесь] (https://github.com/jdbriaris/angular-webpack/blob/master/package.json) –

1

Добавление это мой tsconfig.json установил ее для меня:

"typeRoots": [ 
    "../node_modules/@types/" 
] 

я столкнулся с вопросом после Угловое 2 Webpack Введение (https://angular.io/docs/ts/latest/guide/webpack.html)

tsconfig.json код в руководстве отличается от кода в zip-файле «конечного результата» (https://angular.io/resources/zips/webpack/webpack.zip)

Вот мой весь tsconfig.json:

{ 
    "compilerOptions": { 
     "target": "es5", 
     "module": "commonjs", 
     "moduleResolution": "node", 
     "sourceMap": true, 
     "emitDecoratorMetadata": true, 
     "experimentalDecorators": true, 
     "lib": [ "es2015", "dom" ], 
     "noImplicitAny": true, 
     "suppressImplicitAnyIndexErrors": true, 
     "typeRoots": [ 
      "../node_modules/@types/" 
     ] 
    } 
}