- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用实现 Browserify-Rails 的 Rails 4.0 项目实现Babelify .
在我的本地和远程 Beta 服务器上,一切似乎都很顺利。但是当我部署到生产环境时,某些文件将被跳过,如果它们中有 require("")
。
我原来的设置是这样的:
config.browserify_rails.commandline_options = ["-t [ babelify --presets [ es2015 react stage-0 ] --plugins [ syntax-async-functions transform-regenerator ] ]"]
这使得它跳过了包含这一行的文件:
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 };
我猜我在这里使用的可能是一些 ES2015 之上的 JS 样式
所以我继续使用配置,添加增量,并更新到 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 插件/预设来完成这项工作。
最佳答案
年度预设仅包含当年添加的功能 - 即 es2017
不包括 es2015
中的任何内容和 es2016
预设!
这组预设应该可以解决您的问题:
es2015 es2016 es2017 react stage-0
也就是说,包含所有最新年度预设的首选方法是使用 env
preset ,其中包含所有这些,将在 ES2018 发布后更新,并且还允许您根据需要根据目标环境进行配置:
env react stage-0
关于javascript - 我缺少哪些 Babelify 预设/插件来解析这段代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44698272/
我正在写一个React申请 ES6和 JSX 。以下是我用来将 .es6 文件浏览器化为 bundle.js 的命令。 $ browserify src/es6/app.es6 -t babelify
我正在进行我的个人项目,我想集成 flowtype。现在,在 package.json 中我得到了: "babel-plugin-syntax-flow": "6.3.13" 这有助于 babelif
全新安装 browserify 后,以下内容对我不起作用: browserify main.js -o bundle.js -t babelify main.js的内容是: var x = () =>
如何使用 babel在不同的目录中转译包含 ES6 内容的 JavaScript 文件?我希望结果位于相同的目录中(例如,具有 foo/bar/index.js,我希望通过覆盖在同一个文件中获取 ES
我正在使用 babel 来转译我的 es6 代码。我还使用 gulp 来完成任务。我的 gulpfile.js 如下所示: var gulp = require('gulp'), es6Pat
我有多个使用 es2015 特性编写的模块。我不想将 es2015 转换作为每个模块的依赖项,而是在全局安装它。它失败了 错误:找不到相对于目录的预设“es2015” 有人试过吗?任何解决方法? 最佳
我目前正在学习如何使用 npm、Babel 和 Browserify 设置 React 项目。 Babel 的用法对我来说似乎很清楚:它将 JSX 和 ES6 代码转换为 ES5 代码,可以在所有浏览
我是: 与 browserify 捆绑 使用 babel 将 ES6 转换为 ES5 使用 uglifyjs 压缩 ES5 以前有效。然而最近我一直收到 uglifyjs 的错误,提示 ES6 语法,
我正在使用实现 Browserify-Rails 的 Rails 4.0 项目实现Babelify . 在我的本地和远程 Beta 服务器上,一切似乎都很顺利。但是当我部署到生产环境时,某些文件将被跳
有没有办法import使用 Babelify 时的原生 Node 模块(例如 crypto、fs、path)与 Browserify ? 例如: 'use strict'; import $ from
我正在尝试将我的工作应用程序从 React 和 Gulp with ES5 转换为 React + Gulp 和 ES6。 我只尝试用 babelify 替换 Reactify,但仍然收到 gulp
我正在尝试使用 browserify 和 babelify 创建 gulp 任务。这是任务: var gulp = require('gulp'); var browserify = require(
我在我的应用程序中使用 es6 模块,在我的 chrome 检查器中调试时遇到问题。当我在我的代码中执行类似以下操作时: import 'widget' from './widget' class S
我正在使用 Gulp , Browserify和 Babelify将我的源代码从 ES6 + JSX 编译为纯 Javascript。 我的 gulpfile.js 看起来像: var gulp =
这是我的 gulpfile 代码: gulp.task('react', function () { browserify('app/src/main.jsx') .transform(r
我正在尝试使用 Babelify 来转译 async 和 wait ES7 功能,但我不希望使用 gulp、grunt 或类似的构建工具。到目前为止,我仅使用 npm 就取得了巨大的成功,而这一额外步
我使用带有 Gulp 系统的 Browserify 构建器从 reactify JSX 编译器转移到 Babel 编译器 (Babelify)。现在我得到了这个错误: [00:17:25] Error
watchify配合babelify使用实用吗? 我正在尝试 React 并在开发模式下运行一个项目: watchify app/src/src.js -t babelify -o app/build
有没有办法通过 Browserify 和 Babelify 使用 ES2015 进行动态继承? 我需要用额外的功能“构造函数”包装一个类“前驱”,并且我不知道前驱将是什么,所以我不知道参数的数量或有关
我想对我的代码进行 browserify、tsify 和 babelify。 Browserify 和其他转译器之一可以工作,但它们不能一起工作。 Babel 似乎只是被忽略了(甚至不读 .babel
我是一名优秀的程序员,十分优秀!