通过Transpiling gulp-babel服务器和browserify与babelify客户端-使用异步和我的代码等待.这些功能似乎转变得很好,但......
Error: Cannot find module 'babel-runtime/helpers/typeof'
的内容 .babelrc
{
"presets": ["react", "es2015"],
"plugins": [
"transform-class-properties",
"transform-async-to-generator",
"transform-runtime"
]
}
Run Code Online (Sandbox Code Playgroud)
相关内容 package.json
"babel-core": "6.3.13",
"babel-eslint": "4.1.6",
"babel-plugin-transform-async-to-generator": "6.3.13",
"babel-plugin-transform-class-properties": "6.3.13",
"babel-plugin-transform-runtime": "6.3.13",
"babel-preset-es2015": "6.3.13",
"babel-preset-react": "6.3.13",
"babelify": "7.2.0",
"browserify": "12.0.1",
"gulp-babel": "6.1.0",
Run Code Online (Sandbox Code Playgroud)
我已经找到了一些其他的提及,其中许多似乎在这里引领 - https://github.com/babel/babel/issues/2954
但是我在上面的链接上获得了404,实际上看不到任何与之相关的问题babel- https://github.com/babel/babel/issues重定向到https://github.com/babel/babel/pulls
有任何想法吗?
以下代码位于扩展的类中 React.Component
nextState = () => {
this.setState({
state : this.state.state + 1
});
};
Run Code Online (Sandbox Code Playgroud)
但是,使用airbnb规则的ESLint会捕获此信息并引发以下错误:
error Parsing error: Unexpected token =
我想保留这种语法,因为它允许我避免this在构造函数中绑定.
如果我编写以下代码并通过Babel(6.5.0)进行转换,它可以正常工作.
function foo (first: string, second: number) {
// code here
}
Run Code Online (Sandbox Code Playgroud)
: string并且: number刚刚从已编译的ES5代码中删除.
如果我使用错误的参数类型调用该函数,则不会导致任何错误/警告.即使没有任何功能,它们也能提供信息.
我无法在互联网上找到有关ES6参数输入的正确信息.参数输入甚至是ES6的一部分吗?
编辑: 这个问题在下面的评论中得到了回答,我根据它们包装了官方答案.
我按照这里的指示安装babel-cli.我"build": "babel src -d lib"在我想要运行它的目录中添加到我的package.json中.但是,在运行时,我收到此错误:
npm run build
> ipfs-readme-standard@1.0.0 build /Users/richard/src/ipfs-readme-standard
> babel src -d lib
src doesn't exist
npm ERR! Darwin 14.5.0
npm ERR! argv "/Users/richard/.nvm/versions/node/v5.0.0/bin/node" "/Users/richard/.nvm/versions/node/v5.0.0/bin/npm" "run" "build"
npm ERR! node v5.0.0
npm ERR! npm v3.5.2
npm ERR! code ELIFECYCLE
npm ERR! ipfs-readme-standard@1.0.0 build: `babel src -d lib`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the ipfs-readme-standard@1.0.0 build script 'babel src -d lib'.
npm ERR! Make sure …Run Code Online (Sandbox Code Playgroud) on-rest我的项目工作得很好,直到删除我的node_modules文件并尝试重新安装npm包.
我收到了这个错误
./node_modules/react-event-listener/dist/react-event-listener.cjs.js
Module not found: Can't resolve '@babel/runtime/helpers/builtin/classCallCheck' in '/Users/suatkarabacak/Desktop/demarkedashboard/node_modules/react-event-listener/dist'
Run Code Online (Sandbox Code Playgroud)
我的package.json看起来像这样.
{
"name": "demo",
"version": "0.1.0",
"private": true,
"dependencies": {
"admin-on-rest": "^1.4.1",
"aor-dependent-input": "^1.2.0",
"aor-parseserver-client": "0.3.0",
"aor-rich-text-input": "^1.0.1",
"babel-runtime": "^6.26.0",
"parse": "^1.11.1",
"parse-react": "^0.5.2",
"prop-types": "^15.6.2",
"react": "^15.6.2",
"react-dom": "^15.6.2",
"react-image-lightbox": "^4.6.0",
"react-images": "^0.5.19"
},
"devDependencies": {
"@babel/runtime": "^7.0.0-beta.56",
"aor-color-input": "^1.2.1",
"babel-polyfill": "^6.23.0",
"react-scripts": "^1.1.4"
},
"homepage": "demo.html",
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
}
}
Run Code Online (Sandbox Code Playgroud)
没有内置文件夹.
可能是什么问题呢 ?
我尝试编写这些代码
gulp.task('script', function() {
'use strict'
return gulp.src(['app.js', 'components/**/*.jsx'])
.pipe(babel())
.pipe(browserify())
.pipe(gulp.dest("dist"));
});
Run Code Online (Sandbox Code Playgroud)
但它显示了一些错误:
SyntaxError:
/Users/Zizy/Programming/learn-react-js/components/CommentBox.jsx:58
<div className="commentBox">
^
ParseError: Unexpected token
at wrapWithPluginError (/Users/Zizy/Programming/learn-react-js/node_modules/gulp-browserify/index.js:44:10)
Run Code Online (Sandbox Code Playgroud)
似乎.pipe(browserify())在gulp 之前没有改变jsx代码.但是,如果我只是删除.pipe(browserify())我发现确实改变了,只是不能让babel和browserify一起工作.
我知道也许我可以使用喜欢babelify或者browserify plugin for babel虽然,我只想找出原因.
我想请一些帮助,因为我无法使用模块和类转换ES6中的经典jQuery(v2)插件.
在ECMAScript 5中,我们可以将jQuery插件附加到jQuery原型中,如下所示:
app.js - 通过HTML <script>标记加载jQuery
$.fn.myPlugin = function() {};
$('div').myPlugin();
Run Code Online (Sandbox Code Playgroud)
它的工作原理:).在ES6中,我会写这样的东西:
myPlugin.es6:
import $ from 'jquery';
export default class myPlugin extends $ {
// Could i use constructor() method ???
}
Run Code Online (Sandbox Code Playgroud)
app.es6:
import $ from 'jquery';
import myPlugin from 'myPlugin.es6';
$('div').myPlugin();
Run Code Online (Sandbox Code Playgroud)
最后,它不起作用......
我已经搜索过,之前没有人问过这个问题.
我使用Babel将ES6转换为ES5.
为了在 Babel 中进行运行时转换,您需要 require 并使用babel-core/register. 我不知道register在这个意义上是什么意思,即实际定义。
这实际上意味着什么?
我刚刚完成了CS282的独立学习课程 - 计算机物理仿真.这是我第一次参加我所在的大学.教科书是"游戏物理引擎开发:如何为你的游戏构建一个强大的商业级物理引擎",作者是Ian Millington.这本书充满了语法错误,虽然是一个有用的参考,但很难编码.本书提供的源代码比书中说明的要完整得多,并且解密代码存在一定难度,特别是出于图形目的,因为甚至没有关于如何使用引擎自行执行某些操作的入门知识,实际上在某些地方被破坏或未实现,或者如何使用GLUT,这是本书使用的图形实用程序,并且不是任何时候开发的!事实上,本书中的大多数参考文献都不是来自过去的十年,我认为这对15年前的教学代码来说并不算太糟糕.虽然本文是初学者环境中物理模拟大图的一个很好的资源,但它并没有为CS学生介绍一个友好的沙盒.
这基本上是一个实验,以找出哪些有效,哪些无效.我的教授还包括一本教科书,用于将ActionScript与物理引擎结合使用,但该文本需要事先了解物理引擎的工作原理,因此我们将其放弃以实现实用性.
我的问题是:
我正在撰写一篇反思论文,我希望能够推荐一些替代这些文本,为CS学生提供一个简单的方法来跳入和编写代码,实际上能够看到他们的成果.工作,可能与python.任何人都可以推荐一个对此有用的好资源和/或文本吗?对于那些参加过这门课程或类似课程的学生,您的经历是什么?
我已经找到了至少两种从像Ramda这样的模块导入函数的方法.可能还有一些方法可以做一些非常相似的事情const R = require('ramda');
选项1是导入某些功能:
import { cond, T, always, curry, compose } from 'ramda';
Run Code Online (Sandbox Code Playgroud)
选项2是导入整个模块,如:
import * as R from "ramda";
Run Code Online (Sandbox Code Playgroud)
我更喜欢引用调用函数的模块,如下所示:
R.T();
Run Code Online (Sandbox Code Playgroud)
但是如果使用第二个选项,它是否会引入每个Ramda函数,而不仅仅是我正在使用的模块中使用的函数?如果使用选项2,是否会对实际内存使用或带宽使用产生影响?有可能以某种方式这样做:
// invalid syntax below:
import R { cond, T, always, curry, compose } from 'ramda';
R.T();
Run Code Online (Sandbox Code Playgroud)
我的问题与此问题有点相关,但它有点不同 导入R(ramda)到typescript .ts文件
javascript bundling-and-minification ecmascript-6 es6-modules
babeljs ×8
javascript ×4
ecmascript-6 ×3
reactjs ×3
browserify ×1
c++ ×1
definition ×1
es6-modules ×1
eslint ×1
extend ×1
gulp ×1
jquery ×1
lint ×1
node-modules ×1
node.js ×1
npm ×1
physics ×1
python ×1
transform ×1
typeof ×1