web-dev-qa-db-ja.com

Angular2 + webpackはrobots.txtをデプロイしません

[email protected]でWebサイトを作成しています。デフォルト設定で(依存関係として)Webpackを使用しています。

これが私のpackage.jsonです

"dependencies": {
"@angular/common": "2.1.2",
"@angular/compiler": "2.1.2",
"@angular/core": "2.1.2",
"@angular/forms": "2.1.2",
"@angular/http": "2.1.2",
"@angular/platform-browser": "2.1.2",
"@angular/platform-browser-dynamic": "2.1.2",
"@angular/platform-server": "2.1.2",
"@angular/router": "3.1.2",
"@ngrx/core": "1.2.0",
"@ngrx/effects": "2.0.0",
"@ngrx/store": "2.2.1",
"angular2-toaster": "^1.0.1",
"awesome-TypeScript-loader": "2.2.1",
"bootstrap": "3.3.7",
"bootstrap-select": "1.11.2",
"eonasdan-bootstrap-datetimepicker": "4.17.42",
"es5-shim": "4.5.9",
"intl": "1.2.5",
"jquery": "3.1.0",
"moment": "2.15.1",
"ng2-modal": "0.0.21",
"ng2-pagination": "^0.4.1",
"ngrx-store-logger": "^0.1.7",
"npm": "3.9.3",
"reflect-metadata": "0.1.8",
"rxjs": "5.0.0-beta.12",
"ts-helpers": "1.1.1",
"zone.js": "0.6.25"
},
"devDependencies": {
"@types/jasmine": "2.2.34",
"angular-cli": "1.0.0-beta.19-3",
"codelyzer": "~0.0.26",
"core-js": "2.4.1",
"jasmine-core": "2.5.0",
"jasmine-spec-reporter": "2.7.0",
"karma": "1.3.0",
"karma-chrome-launcher": "2.0.0",
"karma-coverage": "1.1.1",
"karma-jasmine": "1.0.2",
"karma-phantomjs-launcher": "1.0.2",
"karma-remap-istanbul": "0.2.1",
"karma-verbose-reporter": "0.0.3",
"node-sass": "3.10.3",
"protractor": "4.0.5",
"ts-node": "1.3.0",
"tslint": "3.15.1",
"TypeScript": "2.0.2"
}

assets /ディレクトリにrobots.txtファイルを追加しました。ビルダー(npmビルド)がこのファイルを認識してアプリケーションのルートに置くと思っていましたが、そうではなく、まだアセットディレクトリにあります。

私は何かが恋しいですか?

ありがとう。

12
Guymage

私はこの問題で私の解決策を見つけました: https://github.com/angular/angular-cli/issues/1942

robots.txtはsrc /ディレクトリにあります
angular-cli.jsonを変更する

"apps": [
{
  "root": "src",
  "outDir": "dist",
  "assets": ["assets", "robots.txt"],
 ....

アセット配列を使用して、dist /のルートに配置するファイルを宣言します。

22
Guymage

私はAngular6でこの作品を作りました。

Robots.txtをfavicon.icoと同じフォルダーであるsrcフォルダーに配置します。

あなたのangular.jsonファイルで

          "assets": [
          "src/favicon.ico",
          "src/assets",
          "src/robots.txt"
        ],

もう一度サーブする必要があるかもしれません。それから http:// localhost:4200/robots.txt をポイントします。

6
Jason