我有一个webpack-dev-server运行,它编译并提供一些Babel/React代码.我已经得到它服务编译client.js结束localhost:3001.
但是当我尝试在我的HTML中包含脚本时,我在Chrome的开发者控制台中收到以下错误:
routerWarning.js:19 Uncaught SyntaxError: Unexpected token :
Run Code Online (Sandbox Code Playgroud)
该行属于react-router并包含以下代码:
process.env.NODE_ENV !== 'production' ? _warning2['default'].apply(undefined, [falseToWarn, message].concat(args)) : undefined;
Run Code Online (Sandbox Code Playgroud)
首先,我没有看到这行代码会如何导致语法错误.第二,我不明白它是如何进入的,因为这看起来像是一段编译(babelified)代码给我.最后,我不知道如何解决它!:(
任何帮助将不胜感激.
我正在使用 bootstrap-sass。节点模块已安装。我应该期望我可以在任何 .scss 文件中使用以下行导入到适当的工作表中
@import 'bootstrap';
Run Code Online (Sandbox Code Playgroud)
我的理解是编译器会爬行直到找到 package.json,跳入 node_modules 并找到合适的包。相反,我收到以下错误。
错误:未找到或无法读取要导入的文件:bootstrap
如果我用如下所示的完全限定路径替换我的导入,那么一切都会正常进行。
@import '../../node_modules/bootstrap-sass/assets/stylesheets/bootstrap';
Run Code Online (Sandbox Code Playgroud)
我正在使用 gulp-sass 进行编译。猜测我只是关闭了一些小的配置位,但我无法弄清楚它是什么。
试图在CircleCi上运行构建,但测试失败。同样的东西在我的本地设备上运行完美。我的.babelrc配置:
{
"presets": [
"es2015",
"react",
"stage-2"
],
"plugins": [
"transform-class-properties",
"react-hot-loader/babel",
["babel-plugin-transform-builtin-extend", {
"globals": ["Error", "Array"]
}],
["transform-runtime", {
"polyfill": false,
"regenerator": true
}]
]
}
Run Code Online (Sandbox Code Playgroud)
我从circleCI获取错误:
yarn test v0.27.5
$ jest
FAIL src/utils/service-helper.test.js
? Test suite failed to run
ReferenceError: [BABEL] /home/circleci/repo/src/utils/service-helper.test.js: Unknown option: /home/circleci/repo/node_modules/react/index.js.Children. Check out http://babeljs.io/docs/usage/options/ for more information about options.
A common cause of this error is the presence of a configuration options object without the corresponding preset name. Example:
Invalid:
`{ presets: [{option: value}] …Run Code Online (Sandbox Code Playgroud) 以下场景:一个函数获得一个具有一定长度的3个数组,每个数组都需要迭代才能找到匹配的对象.找到对象时,for循环断开,而不调用下一个.在这种情况下,无法合并数组.基本上是这样的:
for (let i = 0; i < array1.length; i++) {
if (array1[i].id == matchingID) {
returnValue = array1[i];
break;
}
}
if (!returnValue) {
for (let i = 0; i < array2.length; i++) {
if (array2[i].id == matchingID) {
returnValue = array2[i];
break;
}
}
}
if (!returnValue) {
for (let i = 0; i < array3.length; i++) {
if (array3[i].id == matchingID) {
returnValue = array3[i];
break;
}
}
}
return returnValue;
Run Code Online (Sandbox Code Playgroud)
在这种情况下使用promises会更有效吗,因为所有for循环都可以同时工作吗?像这样,每个函数调用从上面的例子中执行一个for循环(并解析找到的值):
return new Promise((resolve) => { …Run Code Online (Sandbox Code Playgroud) 最后,我想捕获302错误并重定向到我的登录页面,但是现在xhr.status的状态代码为200.
这是我目前的代码:
parentSyncMethod = Backbone.sync
Backbone.sync = (method, model, options) ->
old_error = options.old_error
options.error = (xhr, text_status, error_thrown) ->
if(xhr.status == 302)
window.location.replace('http://localhost:8080/login')
else
old_error?(xhr, text_status, error_thrown)
parentSyncMethod(method, model, options)
Run Code Online (Sandbox Code Playgroud)
基本上我认为问题是当前网页抛出了200错误,但抛出302的那个被包裹起来而没有传播到xhr.status.有没有办法从所有get,post,put等调用中获取所有状态代码响应?
这是我想做的事情的一个例子,目前抛出一个错误。我不确定我明白为什么,但在一行上导出、分配默认值和分配变量在语法上是不正确的。让它成为匿名函数的好处是我可以使用粗箭头=>并使用and 打开返回值,(而)不是打开{和}to return jsx。
export default let Checkbox = (props) => (
<div style={styles.checkboxContainer}>
<input styleName={styles.checkbox} type="checkbox" />
<span styleName={styles.checkboxStyled}></span>
</div>
)
Run Code Online (Sandbox Code Playgroud)
有没有办法在一行中完成这一切?有没有一个很好的理由为什么我不能/为什么它不在规范中?
我是React.js的新手,并尝试了一些示例。我的js文件中包含以下代码:
var React = require('react');
var ReactDOM = require('react-dom');
var header = <h1>Test</h1>
ReactDOM.render(header, document.getElementById('react-application'));
Run Code Online (Sandbox Code Playgroud)
我的index.html文件的id为div react-application。
gulpfile的内容为:
var gulp = require('gulp');
var browserify = require('browserify');
var babelify = require('babelify');
var source = require('vinyl-source-stream');
gulp.task('default', function(){
return browserify('./source/app.js')
.transform(babelify)
.bundle()
.pipe(source('test.js'))
.pipe(gulp.dest('./build/'));
});
Run Code Online (Sandbox Code Playgroud)
当我运行“ gulp”时,出现以下错误:
e:/react/test/source/app.js: Unexpected token (4:13)
[0m 2 | [36mvar[39m ReactDOM [1m=[22m require[94m[1m([22m[39m[31m'react-dom'[39m[94m[1m)[22m[39m[1m;[22m
3 |
> 4 | [36mvar[39m header [1m=[22m [1m<[22mh1[1m>[22mTest[1m<[22m[1m/[22mh1[1m>[22m
| ^
5 |
6 | ReactDOM[1m.[22mrender[94m[1m([22m[39mheader[1m,[22m document[1m.[22mgetElementById[94m[1m([22m[39m[31m'react-application'[39m[94m[1m)[22m[39m[94m[1m)[22m[39m[1m;[22m[0m......
Run Code Online (Sandbox Code Playgroud)
相同的代码可在babeljs上正确呈现。错误出现在将html分配给var标头的行上。
可能是什么问题呢?
当在文件中看到jsx时,有没有一种方法可以自动检测sublime的扩展名?如果看不到jsx,则恢复为默认值?目前,我正在使用babel-sublime在jsx上突出显示语法。
删除对象成员的最佳方法是什么,而不是留下未定义的遗留物
var o = {
a: 1,
b: 2,
c: 3
};
delete o['a']
Run Code Online (Sandbox Code Playgroud)
对于for循环o会给我们一个未定义的成员.我已经运行了lodash,但_.unset似乎没有做到这一点
谢谢,
肖恩.
据我所知,数组名称就像指向第一个元素的指针.但是:
int c[]={0,1,2};
printf("%d \t %d",c,&c[0]); //Different values,Why?
Run Code Online (Sandbox Code Playgroud)
还有为什么*c=0呢?
我正在尝试制作以下nodejs模块:
exports.method = function () {
var init = true;
return function (args) {
console.dir(args);
};
};
Run Code Online (Sandbox Code Playgroud)
但是当我调用这个方法时,我没有收到控制台消息:
require('./module.js').method({test: 1});
Run Code Online (Sandbox Code Playgroud)
它返回一个函数而不是调用它.
babeljs ×5
javascript ×5
ecmascript-6 ×3
react-jsx ×2
reactjs ×2
babel-jest ×1
backbone.js ×1
c ×1
circleci-2.0 ×1
gulp-sass ×1
lodash ×1
module ×1
node-sass ×1
node.js ×1
performance ×1
promise ×1
requirejs ×1
sass ×1
typescript ×1
webpack ×1