Babelifyを実装するためにBrowserify-Railsを実装するRails 4.0プロジェクトを使用しています。このコードを解析するためにBabelifyのプリセット/プラグインは何ですか?
ローカルとリモートのベータ版サーバーですべてがうまくいっているようです。しかし、プロダクションにデプロイすると、特定のファイルがある場合はスキップされます(require("")
)。
私の元の設定は、このでした:
var { configureStore } = require('./configureStore');
ここにリードが必要になります:
let { createStore, combineReducers, applyMiddleware, compose } = require('redux');
let thunk = require('redux-thunk').default
let session = require('./reducers/session').default;
let search = require('./reducers/search').default;
const configureStore =() => {
const reducers = combineReducers({
session,
search,
});
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
return createStore(
reducers,
composeEnhancers(applyMiddleware(thunk))
);
}
export { configureStore };
それはそれでこのラインを持っていたファイルをスキップ作っ
config.browserify_rails.commandline_options = ["-t [ babelify --presets [ es2015 react stage-0 ] --plugins [ syntax-async-functions transform-regenerator ] ]"]
私はおそらく、私がここでES2015を上回っているいくつかのJSスタイルリングがあると推測していた
私は先に進んでconfigsを使い、Incrementalを追加してES2017にアップデートしました。それは私にその壊れたファイルを渡してしまった。私の新しい設定は、このように見えた:
config.browserify_rails.use_browserifyinc = true
config.browserify_rails.commandline_options = ["-t [ babelify --presets [ es2017 react stage-0 ] --plugins [ syntax-async-functions transform-regenerator ] ]", "-t coffeeify --extension=\".js.coffee\""]
をしかし、これは、このさらにファイル内の行限り、私を取得する:あなたは、次のファイルが解析され、翻訳された本をロード
let { search } = require('../../actions/search');
(と心)うまく:
export const SEARCH_RESULTS_RECEIVED = 'SEARCH_RESULTS_RECEIVED';
export const search = (term, token) => {
return (dispatch) => {
if (term && term.trim() !== '') {
return _search(term, token).then((results) => dispatch(resultsReceived(results)));
} else {
return dispatch(resultsReceived([]));
}
}
};
const _search = (term, token) => {
let promise = new Promise((resolve, reject) => {
fetch(encodeURI(`/api/search?search=${term}`), {
headers: {
"Content-Type": "application/json",
"Authorization": `Token ${token}`
}
})
.then(response => response.json())
.then(function(response) {
return resolve(response.results);
})
.catch((error) => {
return reject(error);
});
});
return promise;
};
export const resultsReceived = (searchResults) => ({
type: SEARCH_RESULTS_RECEIVED,
searchResults
});
私はこの仕事をするために不足している可能性のあるBabelifyプラグイン/プリセットがあります場合、私は好奇心が強いです。
そんなにジョーをありがとう!私は正直なところ、この答えを見つけることができませんでした。ありがとうございました! – Trip
@Trip:私が助けることができてうれしい、私は多くの人々がこれによって混乱すると思います!将来の参照のため、すべての公式プリセットは[こちら](http://babeljs.io/docs/plugins/)に記載されています。 –