11

更新: AngularJSでブランチを 使用することに興味がある人のために、シード プロジェクトangular-brunch-seedをまとめました。

私はAngularJSでブランチを使用しています。AngularJSはモジュール システムを提供するため、commonJS / AMD を使用してファイルをインポートする必要はありません。ディレクトリ内のファイルに対してこの機能を無効にすることはできますか? 基本的に、ディレクトリの場合と同じように、ファイルを変更せずにコンパイルしたいと思います。/app/vendor

したがって、好ましい結果は次のようになります。

  joinTo:
    'js/app.js': /^app/
    'js/vendor.js': /^vendor/

両方js/app.jsjs/vender.js、それぞれのフォルダーからのコンパイル ファイルを含みますが、どちらもラップされません。

誰にもアイデアはありますか?

UPDATE @jcruzが回答したときから構文が変更されました。これが今これを行う方法です。

最後に、@jcruzの回答の修正版を使用しました。

exports.config =
  modules:
    definition: false
    wrapper: (path, data) ->
      """
(function() {
  'use strict';
  #{data}
}).call(this);\n\n
      """
  files:
    javascripts:
      defaultExtension: 'coffee'
      joinTo:
        'js/app.js': /^app/
        'js/vendor.js': /^vendor/

デフォルトでは、「生の」ラッパーには、coffeescript の標準ラッパーは含まれていません。jsWrapper を次のように設定します。

wrapper: (path, data) ->
  """
(function() {
  'use strict';
  #{data}
}).call(this);
  """

ファイルは期待どおりにラップされます。

4

3 に答える 3

13

私が見る限り、これはモジュール構成に変更されました: https://github.com/brunch/brunch/blob/stable/docs/config.md#modules

exports.config =
  paths:
    ...
  files:
    ...
  modules:
    wrapper: false
    definition: false
于 2013-10-16T07:53:44.383 に答える
5

モジュールのラッピングを無効にする機能は、最近https://github.com/brunch/brunch/commit/ec158cffd1b66d5db2093cf766000673aa0dd3a5に追加されました

これらの機能を備えたリリースがまだ npm にあるとは思いませんが、github リポジトリからブランチを再インストールするだけで済みます。

そのブランチを実行したら、config.coffee で jsWrapper を「raw」に設定します。

このようなもの...

exports.config =
  jsWrapper: 'raw'
  files:
    javascripts:
      defaultExtension: 'js'
      joinTo:
        'javascripts/app.js': /^app/
        'javascripts/vendor.js': /^vendor/

「ブランチ b」とラッピング コードが表示されなくなります

于 2012-07-06T16:57:46.270 に答える
4

(ほぼ) 2017 年 1 月の時点で、モジュール設定と共に npm enabled を false に宣言することが不可欠です。とはいえ、見つけるのに時間がかかりました。(これはGitHubの問題で見つかりました)。お役に立てれば。乾杯。

作業用の構成ファイルは次のとおりです。

// See http://brunch.io for documentation.
module.exports = {
    files: {
      javascripts: {
        joinTo: {
          '/js/app.js': /^app/,
          '/js/vendor.js': /^(?!app)/
        }
      },
      stylesheets: {
        joinTo: 'css/app.css'
      }
    },

    paths: {
      public: '/priv/static'
    },

    npm: {
      enabled: false
    },

    modules: {
      wrapper: false,
      definition: false
    }
}
于 2016-12-30T05:49:28.030 に答える