Sas*_* B. 5 ruby-on-rails ecmascript-5 ecmascript-6 webpack babeljs
将 ES6 JavaScript 添加到我的 Rails 项目后:
class SpinnerWindow {
static show() {
//...
}
static autoHideShow(timeout=1500) {
//...
}
static hide() {
//...
}
}
Run Code Online (Sandbox Code Playgroud)
部署到 Heroku 时它仍然包含已编译的 ES6(不是 ES5!)
...</div> </div></div>';class SpinnerWindow{static show(){...
Run Code Online (Sandbox Code Playgroud)
我已将所有需要的配置添加到.babelrc
{
"presets": [
["env", {
"modules": false,
"targets": {
"browsers": "> 1%",
"uglify": true
},
"useBuiltIns": true
}]
],
"plugins": [
"syntax-dynamic-import",
"transform-object-rest-spread",
"transform-es2015-arrow-functions",
"transform-es2015-block-scoped-functions",
"transform-es2015-block-scoping",
"transform-es2015-classes",
"transform-es2015-computed-properties",
"transform-es2015-destructuring",
"transform-es2015-for-of",
"transform-es2015-function-name",
"transform-es2015-literals",
"transform-es2015-modules-commonjs",
"transform-es2015-object-super",
"transform-es2015-parameters",
"transform-es2015-shorthand-properties",
"transform-es2015-spread",
"transform-es2015-sticky-regex",
"transform-es2015-template-literals",
"transform-es2015-typeof-symbol",
"transform-es2015-unicode-regex",
"transform-regenerator",
"transform-async-to-generator",
["transform-class-properties", { "spec": true }],
// Reference assets directly from app/assets/**
// https://github.com/rails/webpacker/blob/master/docs/assets.md#using-babel-module-resolver
["module-resolver", { "root": ["./app"], "alias": { "assets": "./app/assets" } }]
]
}
Run Code Online (Sandbox Code Playgroud)
我还添加了'production.rb':
# Compress JavaScripts and CSS.
config.assets.js_compressor = Uglifier.new(harmony: true)
Run Code Online (Sandbox Code Playgroud)
这里提到了
How do I use ES6 (ES2015) in a ruby on Rails app?
版本:
gem 'rails', '4.2.10'
gem 'webpacker', '~> 3.6'
gem 'babel-transpiler'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
684 次 |
| 最近记录: |