小编log*_*yth的帖子

Webpack/Babel/React - "Uncaught SyntaxError:Unexpected token:"

我有一个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)代码给我.最后,我不知道如何解决它!:(

任何帮助将不胜感激.

javascript reactjs webpack babeljs

2
推荐指数
1
解决办法
1660
查看次数

Sass 导入不爬取 node_modules 以找到合适的包

我正在使用 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 进行编译。猜测我只是关闭了一些小的配置位,但我无法弄清楚它是什么。

sass bootstrap-sass node-sass gulp-sass

2
推荐指数
1
解决办法
3772
查看次数

Babel为什么会抛出Unknown选项:...孩子?

试图在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)

babeljs babel-jest circleci-2.0

2
推荐指数
1
解决办法
2232
查看次数

是自己使用多个for循环还是将逻辑委托给promises更高效?

以下场景:一个函数获得一个具有一定长度的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)

javascript performance promise typescript ecmascript-6

2
推荐指数
2
解决办法
68
查看次数

backbone.sync获取所有响应错误状态代码

最后,我想捕获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等调用中获取所有状态代码响应?

javascript http-status-code-302 backbone.js

1
推荐指数
1
解决办法
1843
查看次数

导出默认值和声明匿名函数合二为一

这是我想做的事情的一个例子,目前抛出一个错误。我不确定我明白为什么,但在一行上导出、分配默认值和分配变量在语法上是不正确的。让它成为匿名函数的好处是我可以使用粗箭头=>并使用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)

有没有办法在一行中完成这一切?有没有一个很好的理由为什么我不能/为什么它不在规范中?

javascript ecmascript-6 babeljs

1
推荐指数
1
解决办法
1011
查看次数

JSX上的babelify转换以使React元素失败

我是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标头的行上。

可能是什么问题呢?

react-jsx babeljs

1
推荐指数
1
解决办法
721
查看次数

自动检测babel ext sublime

当在文件中看到jsx时,有没有一种方法可以自动检测sublime的扩展名?如果看不到jsx,则恢复为默认值?目前,我正在使用babel-sublime在jsx上突出显示语法。

reactjs react-jsx babeljs

1
推荐指数
1
解决办法
883
查看次数

什么是删除对象成员的最佳方法,而不是留下未定义的

删除对象成员的最佳方法是什么,而不是留下未定义的遗留物

var o = {
  a: 1,
  b: 2,
  c: 3
};
delete o['a']
Run Code Online (Sandbox Code Playgroud)

对于for循环o会给我们一个未定义的成员.我已经运行了lodash,但_.unset似乎没有做到这一点

谢谢,

肖恩.

javascript ecmascript-6 lodash

1
推荐指数
1
解决办法
35
查看次数

数组名称与指向c中第一个元素的指针之间的差异

据我所知,数组名称就像指向第一个元素的指针.但是:

int c[]={0,1,2};
printf("%d \t %d",c,&c[0]); //Different values,Why?
Run Code Online (Sandbox Code Playgroud)

还有为什么*c=0呢?

c

0
推荐指数
1
解决办法
467
查看次数

为什么我不能在nodejs模块中创建一个闭包

我正在尝试制作以下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)

它返回一个函数而不是调用它.

module node.js requirejs

0
推荐指数
1
解决办法
856
查看次数