2

yeoman server正常に動作yeoman buildしますが、奇妙な場所でメインの requirejs ファイルを探して失敗します:

<WARN> Unable to read "scripts/scripts/main.js" file (Error code: ENOENT). Use --force to continue. </WARN>

私のbaseUrlは./scriptsであるため、余分なscripts/ディレクトリを追加しているようですがyeoman server、正しい場所で問題ありません。これが私のセットアップです。ほとんどがデフォルトのものです。

index.html で:

<!-- build:js scripts/scripts.js -->
<script src="scripts/vendor/require.js" data-main="scripts/main"></script>
<!-- endbuild -->

Gruntfile.js で:

rjs: {
  // no minification, is done by the min task
  optimize: 'none',
  baseUrl: './scripts',
  wrap: true
},

アプリ ツリーの関連部分:

.
├── Gruntfile.js
├── app
│   ├── index.html
│   └── scripts
│       ├── main.coffee
│       ├── vendor
│       │   ├── require.js
|       |   └── all other js library scripts
│       └── all my other scripts
└── package.json

このように data-main 属性から scripts/ ディレクトリを削除すると、data-main="main"実際にはエラーなしでビルドされます。ビルドされたアプリをブラウザーで開こうとすると、空白のページとコンソール エラーが発生し、yeoman servermain.js が見つからずに失敗します。私が試したこれらのパラメーターをいじっても、成功したことはありませんyeoman build

小さな構成の癖が欠けていることを願っています。助けてくれてありがとう!

4

1 に答える 1

1

Gruntfile の rjs 構成に単純なものが欠けていたと思うname: 'main'ので、次のようになります。

rjs: {
  // no minification, is done by the min task
  optimize: 'none',
  baseUrl: './scripts',
  wrap: true,
  name: 'main'
},

これは と で正しく動作しyeoman serverますyeoman build

于 2013-01-31T02:06:06.613 に答える