小编Thi*_*its的帖子

运行mocha测试时导入Babel意外的令牌

其他相关问题中提供的解决方案,例如在.babelrc中包含正确的预设(es2015),已在我的项目中实现.

我有两个项目(让我们称之为A和B),它们都使用ES6模块语法.在项目A中,我正在导入通过npm安装的项目B,它位于node_modules文件夹中.当我为项目A运行我的测试套件时,我收到错误:

SyntaxError:意外的令牌导入

之前是项目B的这个错误的代码行:

(函数(exports,require,module,__ filename,__ dirname){从'history/lib/createBrowserHistory'导入createBrowserHistory;

因为我的源文件只包含"来自'history/lib/createBrowserHistory'的import createBrowserHistory',所以iife似乎是npm或者babel相关的东西; Project B的测试套件中的单元测试运行正常,如果我将Project B作为依赖项从项目A,我的测试套件(仍然使用es6导入内部项目模块)工作正常.

完整堆栈跟踪:

 SyntaxError: Unexpected token import
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:374:25)
    at Module._extensions..js (module.js:405:10)
    at Object.require.extensions.(anonymous function) [as .js] (/ProjectA/node_modules/babel-register/lib/node.js:138:7)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
    at Module.require (module.js:354:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (actionCreators.js:4:17)
    at Module._compile (module.js:398:26)
    at loader (/ProjectA/node_modules/babel-register/lib/node.js:130:5)
    at Object.require.extensions.(anonymous function) [as .js] (/ProjectA/node_modules/babel-register/lib/node.js:140:7)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
    at Module.require (module.js:354:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/ProjectA/src/components/core/wrapper/wrapper.js:28:23)
    at Module._compile (module.js:398:26)
    at loader (/ProjectA/node_modules/babel-register/lib/node.js:130:5) …
Run Code Online (Sandbox Code Playgroud)

syntax-error mocha.js node.js npm babeljs

87
推荐指数
8
解决办法
7万
查看次数

什么是用于角度的$$(双美元符号)?

我正在看一下角度1.2源代码,我只是好奇为什么有些函数以两个美元符号为前缀.这是某种惯例吗?

javascript angularjs

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

如何将更改后的SimpleXML对象保存回文件?

所以,我有这个代码在我的XML文件中搜索特定节点,取消设置现有节点并插入具有正确数据的全新子节点.有没有办法使用simpleXML将这些新数据保存在实际的XML文件中?如果没有,还有另一种有效的方法吗?

public function hint_insert() {

    foreach($this->hints as $key => $value) {

        $filename = $this->get_qid_filename($key);

        echo "$key - $filename - $value[0]<br>";

        //insert hint within right node using simplexml
        $xml = simplexml_load_file($filename);

        foreach ($xml->PrintQuestion as $PrintQuestion) {

            unset($xml->PrintQuestion->content->multichoice->feedback->hint->Passage);

            $xml->PrintQuestion->content->multichoice->feedback->hint->addChild('Passage', $value[0]);

            echo("<pre>" . print_r($PrintQuestion) . "</pre>");
            return;

        }

    }

}
Run Code Online (Sandbox Code Playgroud)

php xml simplexml

34
推荐指数
1
解决办法
6万
查看次数

过滤掉具有空值的数组,下划线

我有这个数组:

[null, {name:'John'}, null, {name:'Jane'}]
Run Code Online (Sandbox Code Playgroud)

我想删除空值.使用下划线有一种简单的方法吗?

javascript underscore.js

25
推荐指数
3
解决办法
3万
查看次数

在express/nodejs app中提供存储在S3中的文件

我有应用程序用户的照片是私人的.我将照片(缩略图也)存储在AWS s3中.网站中有一个页面,用户可以在其中查看他的照片(即缩略图).现在我的问题是如何提供这些文件.我评估的一些选项是:

  • 使用签名的URL生成从CloudFront(或AWS)提供文件.但问题是,每次用户刷新页面时,我必须再次创建这么多已签名的URL并加载它.因此,我无法在浏览器中缓存图像本来是一个不错的选择.无论如何仍然在javascript中做?由于安全问题,我不能长时间保持这些网址的有效性.其次,在该时间范围内,如果有人抓住该网址,他可以查看该文件,而无需通过应用程序进行身份验证.
  • 其他选项是在从S3服务器流式传输后从我的快递应用程序本身提供文件.这允许我有http缓存头,因此启用浏览器缓存.它还确保没有人可以在未经过身份验证的情况下查看文件.理想情况下,我想流式传输文件和我使用NGINX代理中继托管另一端流式传输到NGINX.但正如我所见,只有文件存在于同一系统的文件中才能实现.但是在这里我必须流式传输并在我完成流时返回.不想在本地存储文件.

我无法评估这两个选项中哪一个是更好的选择?我想尽可能多地将工作重定向到S3或cloudfront,但即使使用了singed url也会首先向我的服务器发出请求.我也想要缓存功能.

那么理想的做法是什么?有关这些方法的特定问题的答案?

nginx amazon-s3 fileserver node.js express

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

AngularUI路由器:具有相同url模式的多个状态

嘿所有我遇到什么,我认为将是一个常见的路由问题,但我无法找出一个解决方案.基本上我的页面有两种状态,基本和高级,我希望两种状态的URL模式相同,但只加载当前状态的模板(从控制器内转换到)

config(function ($stateProvider) {

  $stateProvider.state('basic', {
    url: '/:post',
    templateUrl: function (stateParams) {
      return 'post-' + stateParams.post + '-tmpl.html';
    }
  });

  $stateProvider.state('advanced', {
    url: '/:post',
    templateUrl: function (stateParams) {
      return 'post-' + stateParams.post + '-advanced-tmpl.html';
    }
  });
})

controller('myCtrl', function ($state) {
  //
  // In this case, I would expect only the template from
  // the advanced state to load, but both templates are trying
  // to load.
  $state.transitionTo('advanced', {post: 2});
}
Run Code Online (Sandbox Code Playgroud)

我假设导航到匹配的模式会加载给定的状态,这就是为什么当它匹配时,两个模板都会尝试加载.有没有办法完成相同的网址模式,但只使用基于当前状态的不同模板?

javascript angularjs angular-ui-router

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

删除多个空格

所以,如果我有一个字符串

"hello    what is  my    name"
Run Code Online (Sandbox Code Playgroud)

我怎样才能占用所有空间并用一个空间替换每个空间?

php removing-whitespace

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

在选择框选项上使用ng-hide或ng-show

是否可以使用ng-hide指令隐藏选择框选项?

http://jsfiddle.net/cr4UB/

<div ng-app ng-controller="Controller">
    <select ng-model="myDropDown">
          <option value="one">One</option>
          <option value="two" ng-hide="myDropDown=='one'">Two</option>
          <option value="three">Three</option>
    </select>

    {{myDropDown}}
</div>
Run Code Online (Sandbox Code Playgroud)

javascript directive angularjs

11
推荐指数
1
解决办法
3万
查看次数

php的基本搜索算法是什么?

我正在开发一个涉及搜索视频的项目,这些视频的标记类似于在堆栈溢出时如何标记问题.我想知道是否有人知道一个好的'基于标签'的搜索算法.

谢谢!

php algorithm search

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

如何防止DOMDocument保存<as&lt

我正在使用simpleXML在我的一个XML文档中添加子节点...当我在simpleXML对象上执行print_r时,<仍然<在视图源中显示为a .但是,在使用DOMDocument将此对象保存回XML后,将<转换为&lt;>转换为&gt;

关于如何改变这种行为的任何想法?我试过添加dom->substituteEntities = false;,但这没有用.

    //Convert SimpleXML element to DOM and save
    $dom = new DOMDocument('1.0');
    $dom->preserveWhiteSpace = false;
    $dom->formatOutput = false;
    $dom->substituteEntities = false;
    $dom->loadXML($xml->asXML());
    $dom->save($filename);
Run Code Online (Sandbox Code Playgroud)

这是我正在使用<:

$new_hint = '<![CDATA[' . $value[0] . ']]>';               
$PrintQuestion->content->multichoice->feedback->hint->Passage->Paragraph->addChild('TextFragment', $new_hint);
Run Code Online (Sandbox Code Playgroud)

问题是,我使用简单的XML来迭代XML文档中的某些节点,如果属性与给定的ID匹配,则会添加一个特定的子节点和CDATA.然后在所有处理之后,我使用DOMDocument将XML保存回文件,这是<转换为<等的地方.

这是我的整个类文件的链接,因此您可以更好地了解我正在尝试完成的任务.具体请参考底部的hint_insert()方法.

http://pastie.org/1079562

php xml simplexml domdocument

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