問題タブ [almond]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
requirejs - r.js を使用して、'text' を使用してビューをロードする SPA アプリケーションをパッケージ化する
grunt を使用して SPA アプリケーション (requirejs、durandal 2、ノックアウト) を単一の main-build.js ファイルにビルドしようとしていますが、durandal が私の読み込みに使用している「テキスト」プラグインで深刻な問題が発生しています。ビュー。
開発では、デュランダルアプリを構築する標準的な方法に従って、「テキスト」を使用してビューを動的にロードすることに成功しています。違いは、ビューに対してサーバー側のテンプレートを作成する必要があるため、実際には動的に生成されることです。
それを念頭に置いて、r.jsを使用してアプリモデル、ビューモデル、およびサービスを(grunt-durandalプラグインを介して)単一のファイルにパッケージ化しますが、ビュー(.html)をパッケージ化せずにロードしたいと思います必要に応じて動的に。
私のうなり声構成では、inlineText: false
オプションを使用しています-ビルドで「text!*」モジュールを抑制していることを確認しました。しかし、アプリケーションを実行すると、次のようになります。
Uncaught TypeError: undefined is not a function
次の行の内側からtext.load
:
ロードされているモジュール名は正しいようです ('text!*' の名前です) が、それ以上、この問題をデバッグする方法がわかりません。私は何を間違っていますか?
私のうなり声の構成は次のとおりです。
gruntjs - grunt を使用した Requirejs の最適化
うなり声とアーモンドを使用してrequirejs最適化構成を作成しようとしています。構成は次のとおりです。
フォルダ構造:
エラー:
Main.js コード (coffeescript で記述)
複数の js ファイルにまたがるプロジェクト全体を 1 つのファイルにコンパイルして、requirejs が不要になるようにしたいと考えています。アーモンド js を使用してこれを実行しようとしていますが、ビルド タスクは参照ファイルのパスに関連する参照ファイルを探しません。正しい構成を教えてください。
javascript - require と require はどう違いますか
これら2つのアーモンドの有無の違いは何ですか?
require('module');
require(['module']);
編集
ネストされています:
define(function() { require('module'); }
define(function() { require(['module']); }
前者はrequirejsエラーを返します(はしごの使用を示唆しています)。
私が尋ねている理由は、
AMD モジュールとして使用できるライブラリを構築する方法について、example-libglobalを研究 しています。
エクスポートするライブラリ モジュール:
File: principium.js
ライブラリ モジュールを返すメイン モジュール。
File: lib/main.js
この例では、アーモンドを使用してrequire principium
(return
require('principium')
)を使用しています。エクスポートされたライブラリオブジェクトが返されることを期待しています。
しかし、私はアーモンドを使用していません。require('principium')
構文でエラーが発生し、require(['principium'])
代わりに使用すると、エクスポートされたライブラリ オブジェクトが返されません。
エクスポートされたライブラリ オブジェクト、つまり でreturn { convert: convert };
返されるということprincipium.js
です。
編集
次のように、ネストされたrequireを適切に使用するにはどうすればよいですか。
var moduleExport = require('module');
私が期待するように動作します。
編集
私はそれを解決しましたが、それがどのように機能したかはわかりません。ビルドにアーモンドを含めたところ、魔法のように機能しました。
"include": ["../bower_components/almond/almond", "lib/main"]
そしてリファクタリング
File: lib/main.js
angularjs - libsフォルダーを除くRequirejsアーモンド?
多くのライブラリを含むプロジェクトがあります
私の目標は、libs ディレクトリ内のファイルを除くすべてを 1 つのファイルに入れることです。
問題は、角度を除外しようとすると、すべてが除外されることです。ファイルをdistディレクトリに置きたいのですが、temp内のすべてを1つのファイルに醜くし、個別のファイルをlibsする必要があります。これは可能ですか?助けてくれてありがとう。
requirejs - gulpのamd-optimiseでアーモンドを使用するには?
単一ページの webapp のフットプリントを最小限に抑えるために、ReqireJS をアーモンドに置き換えたいのですが、ドキュメントを読んでグーグルで調べた後でも、アーモンドをガルプ ビルドにプラグインする方法がわかりません。
次のようなスクリプトがあるとします。
アーモンドはどこへ行く?
おまけの質問: ビルド スクリプトで index.html の dist バージョンを変更して、require.js 参照を almond への参照に自動的に置き換えるにはどうすればよいですか?
gulp - 外部モジュールで gulp を使用した durandaljs のビルドが失敗する
durandal アプリを構築するために gulp-durandal を使用しています。ノックアウトする依存関係を持つ最初のモジュールで失敗します。
define(['ノックアウト',....
[09:35:27] デュランダル エラー: ENOENT、そのようなファイルまたはディレクトリはありません 'C:\xxxxx\app\knockout.js' モジュール ツリー内: company/viewmodels/edit
config.js (標準的な requirejs の方法) でパッチとして定義されたノックアウトがありますが、gulp-durandal は config.js からのパスを解決しないようです。
'ノックアウト': '../Scripts/lib/knockout/knockout-2.3.0',
app フォルダーの直下でモジュールを解決しようとする代わりに、gulp-durandal が構成パスを使用するようにするにはどうすればよいですか? options.extraModules を使用してみましたが、モジュールのシンボリック名ではなく、モジュールへのパスのみを追加できるため、正しい方法ではないようです。
私の durandaljs アプリの基本的な構造は、私が信じている標準的なガイドラインに従っており、App フォルダーの下に config.js と main.js があります。
私のconfig.js:
私のmain.js
}
gulpfile.js:
問題は、パスが正しく解決されるように、config.js パスを gulp にロードする方法だと思います。私は試した:
しかし、requireは入力として文字列のみを必要としているようです(私はgulpのrequire関数を推測します!= require.jsからのrequire)
javascript - 「RequireJS」で「アーモンド」を使用して単一のファイルを生成する方法は?
RequireJS を使用したプロジェクトがあります。
私の app.build と require :
コンパイル後、require.js、main.js、domReady.js の 3 つの js ファイルがあり、Almond 経由で単一のファイルを取得しようとして、いくつかのパラメーターを追加しました。
しかし、最終的にはまだ 3 つのファイルが残っています。よろしくお願いします。