私が書いたコードで問題が発生しています。JSX webpackビルドの同じクラスのコンストラクタが重複しています
JSX Github Pageで使用できる主なJSXのチュートリアルでは、のように見えるポイントと呼ばれる例のクラスを、持っている:
class Point {
var x = 0;
var y = 0;
function constructor() {
}
function constructor(x : number, y : number) {
this.set(x, y);
}
function constructor(other : Point) {
this.set(other);
}
function set(x : number, y : number) : void {
this.x = x;
this.y = y;
}
function set(other : Point) : void {
this.set(other.x, other.y);
}
}
クラスは、私は「複数のコンストラクタタイプの明確な例を持っていること私のC++の日々から馴染んでいます。それは定義されたコピーコンストラクタを持っています。私はそれが素晴らしいと思います。
しかし、私が得た、私が使用するための同様のクラスを作成する場合:私は私のWebPACKのビルドで次のエラーを取得する
export default class MutableDataStore {
\t constructor() {
\t \t this.data = [];
\t \t this.settings = {};
\t }
\t //Copy constructor
\t constructor(other : MutableDataStore) {
\t \t this.data = other.data.slice();
\t \t this.settings = Object.assign({}, this.settings);
\t }
//...Other functions omitted
}
:中
はERRORを./ src/stores/helper-classes/mutabledatastore.jsx モジュールのビルドに失敗しました:SyntaxError:同じクラス(8:1)に重複するコンストラクタ
一時的な問題でない限り、私はこれについてウェブ上で何か類似するものを見つけることができないので、私はこれで完全に困惑しています。
私webpack.config.jsは次のとおりです。
var webpack = require("webpack");
var path = require("path");
var src = path.resolve(__dirname, "src");
var app = path.resolve(__dirname, "app");
var config = {
entry: src + "/index.jsx",
output: {
path: app,
filename: "javascript.js"
},
module: {
loaders: [{
include: src,
loader: "babel-loader"
}]
}
};
module.exports = config;
と私のバベルのプリセットはes2015あると反応します。
助けていただけたら幸いです!
名前はひどいですが、 "JSX"チュートリアルページはJSXと呼ばれる言語のためのものですが、Reactが使用するJSXやBabelが扱うJSXではありません。 Babel/ReactのJSXの有無にかかわらず、複数の 'constructor'関数は通常のES6では使用できません。 – loganfsmyth
@loganfsmyth質問に答えてくれてありがとう。私はあなたに答えを与えることができればと思います。なぜなら、それは私の問題が何であるか正確に答えたからです。 – aphenine