私のASPで動作するRedux状態ライブラリの基本的な例を取得しようとしていますTypeScriptとRequireJSを使用した.NET MVCアプリケーション。RequreJS、TypeScriptを使用してReduxをASP.NET MVCプロジェクトにインポートする(エラー: "redux"のスクリプトエラー...)
非常に単純なアプリケーションです。新しいASP.NET MVCプロジェクトを作成しました。そこから多くを取り除き、ノードモジュール(Redux、RequireJS)と実行したいスクリプトのみを持っています(Question.ts)に準拠しています。
Question.ts
require.config({
baseUrl: "/node_modules/",
paths: {
"redux": "redux/dist/redux.js"
}
});
import { combineReducers, createStore } from "redux";
const ADD_SELECTED_ANSWER = 'ADD_SELECTED_ANSWER';
function addSelectedAnswer(selectedQuestionId: number) {
return { type: ADD_SELECTED_ANSWER, selectedQuestionId }
}
function selectedAnswers(state = [], action) {
switch (action.type) {
case ADD_SELECTED_ANSWER:
var nextState = state;
nextState.push(state);
return nextState;
default:
return state;
}
}
var questionApp = combineReducers({
SelectedAnswers: selectedAnswers
});
var store = createStore(questionApp);
// Log the initial state
console.log(store.getState());
// Every time the state changes, log it
// Note that subscribe() returns a function for unregistering the listener
let unsubscribe = store.subscribe(() =>
console.log(store.getState())
);
store.dispatch(addSelectedAnswer(100));
活字体は、以下の(Question.js)にこれをコンパイルします。
define(["require", "exports", "redux"], function (require, exports, redux_1) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
require.config({
baseUrl: "./",
paths: {
"redux": "/node_modules/redux/dist/redux.js"
}
});
var ADD_SELECTED_ANSWER = 'ADD_SELECTED_ANSWER';
function addSelectedAnswer(selectedQuestionId) {
return { type: ADD_SELECTED_ANSWER, selectedQuestionId: selectedQuestionId };
}
function selectedAnswers(state, action) {
if (state === void 0) { state = []; }
switch (action.type) {
case ADD_SELECTED_ANSWER:
var nextState = state;
nextState.push(state);
return nextState;
default:
return state;
}
}
var questionApp = redux_1.combineReducers({
SelectedAnswers: selectedAnswers
});
var store = redux_1.createStore(questionApp);
// Log the initial state
console.log(store.getState());
// Every time the state changes, log it
// Note that subscribe() returns a function for unregistering the listener
var unsubscribe = store.subscribe(function() {
return console.log(store.getState());
});
store.dispatch(addSelectedAnswer(100));
});
//# sourceMappingURL=Question.js.map
私は順番に、ちょうどhttp://localhost:50830/
、ホームコントローラにナビゲートしていますReduxをインポートし、Reduxメソッドの基本ディスパッチを実行して状態を変更する必要があるこの基本スクリプトを実行します。ランニング時に
、私は下のエラーを取得しています:私はimport
またはRequireJS basePath
またはpaths
構成に提供してきた構成
require.js:168 Uncaught Error: Script error for "redux", needed by: Question
どんなにを、私は活字体を得るように見えることはできません自分のReduxモジュールを見つけることができるようにコンパイルしてください。
ビューは単純です:
Index.cshtml
@{
ViewBag.Title = "Home Page";
}
Please execute my Redux!
@section scripts
{
<script data-main="/Scripts/Question.js" src="~/node_modules/requirejs/require.js"></script>
}
これは、ソリューションの構造である:私は活字体をコンパイルするには取得できますか
私Question.ts
ファイルをロードしてredux.js
にロードできますか? https://s3.amazonaws.com/helpme123123/Redux+Playground.zip
から
require.config
呼び出しを削除するindex.cshtml
を変更する必要がnode_modules' 'の' baseUrl'は、容疑者を探します。あなたはreduxがどんな速度であってもそれをやっていないRequireJSに伝える必要があります。 –ご意見ありがとうございます。私は別の設定に変更しようとしましたが、上記の質問を更新しました。おそらく、私はまだReduxがどこに住んでいるのかは分かりません。 – Luke
私は 'http:// localhost:50830/node_modules/redux/dist/redux.js'に行き、Redux.jsファイルに移動できます。このスクリプトは' http:// localhost:50830/'だから私はそれがそれを見つけることができない理由を理解していない:( – Luke