小编pgr*_*en2的帖子

未捕获的ReferenceError:未定义require

对于我正在开发的项目,我一直在使用JavaScript库的大杂烩.我的代码的主要逻辑分解为多个commonjs模块.我使用谷歌闭包将模块组合成一个输出js文件,我在我的AngularJS应用程序中使用.

我遇到的问题是尝试用testacular进行测试.我收到的错误是Uncaught ReferenceError: require is not defined.它正在发生,因为与谷歌关闭不同,testacular不了解commonjs模块.我可以做几个工作,但我希望无需重构我的代码就可以使它工作.

  1. 我可以恢复模块,以便我不再使用commonjs.我不喜欢这个,因为它感觉像向后退了一步.我希望我的代码是模块化的.
  2. 我可以从谷歌关闭的编译js上运行testacular.我不介意这样做,但我无法触发所有文件更改.Testacular可以在文件更改上重新运行,但我还没有看到谷歌关闭重新编译更改.
  3. 最后,我可以在testacular中启用commonjs模块.理想情况下,这是我想要的方式,但它可能不是最简单的.

有没有其他人遇到过类似的问题?我愿意尝试不同的事情; 我只是不想要任何hacky.

javaclassstreamreader.spec.js:

"use strict"

var JavaClassStreamReader = require('../javaclassstreamreader.js').JavaClassStreamReader;

describe('javaclassstreamreader', function() {

  it('reader can be constructed', function() {
    var dataView = {
      byteLength : 0
    };
    //FIXME load dataView

    var reader = new JavaClassStreamReader(dataView);
    expect(reader.dataView).toBe(dataView);
    expect(reader.offset).toBe(0);
    expect(reader.maxOffset).toBe(0);
  });

});
Run Code Online (Sandbox Code Playgroud)

javaclassstreamreader.js:

function JavaClassStreamReader(dataView, initialOffset, maxBytesToRead) {
  this.dataView = dataView;
  this.offset = initialOffset || 0;
  this.maxOffset = this.offset + (maxBytesToRead || this.dataView.byteLength);
}
//... code trucated ...
Run Code Online (Sandbox Code Playgroud)

javascript google-closure-library commonjs angularjs karma-runner

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

gulp中是否可以有条件依赖?

我的构建脚本有两个要求:

  1. 当我跑步时gulp clean build,clean必须在build 开始前完成.
  2. 如果我跑gulp build,那么clean不应该跑.

所以,如果clean指定了,那么build应该等待它,否则启动.

如果我这样做,第一部分是可能的

gulp.task('clean');
gulp.task('build', ['clean']);
Run Code Online (Sandbox Code Playgroud)

但是,这违反了第2点

如果我做

gulp.task('clean');
gulp.task('build');
Run Code Online (Sandbox Code Playgroud)

这违反了第1点

吞咽这可能吗?

gulp

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

未找到JSF 2.1.13自定义组件:标记库支持名称空间:<namsepace>但没有为名称定义标记:<compositecomponent>

问题

我正在使用JSF 2.1.13创建一个原型来证明JSF的优势,而不是我们当前使用JSP和构建的webapp struts 1.1.我使用的是代码JSF 2.2.6,但是当我发现Oracle Weblogic 12c还不支持JSF 2.2 时,我不得不降级.使用2.1.13运行代码时收到以下错误:

/pages/sites/tab-details.xhtml @27,90 <ccc:codedType> Tag Library supports namespace: http://java.sun.com/jsf/composite/ccc, but no tag was defined for name: codedType
Run Code Online (Sandbox Code Playgroud)

谷歌搜索只指向我有关嵌套复合组件错误,但这不是我正在做的事情.

摘录自 pom.xml

<!-- JSF Dependencies -->
<dependency>
  <groupId>com.sun.faces</groupId>
  <artifactId>jsf-api</artifactId>
  <version>2.1.13</version>
</dependency>
<dependency>
  <groupId>com.sun.faces</groupId>
  <artifactId>jsf-impl</artifactId>
  <version>2.1.13</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

复合组件: webapp/WEB-INF/resources/ccc/codedType.xhtml

<?xml version="1.0" encoding="UTF-8"?>
<ui:component xmlns="http://www.w3.org/1999/xhtml"
  xmlns:f="http://java.sun.com/jsf/core"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:ui="http://java.sun.com/jsf/facelets"
  xmlns:cc="http://java.sun.com/jsf/composite">
  <cc:interface shortDescription="Renders a CodedType">
    <cc:attribute name="value" required="true"
      shortDescription="Instance of CodedType to be properly rendered" …
Run Code Online (Sandbox Code Playgroud)

java composite-component jsf-2 mojarra

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

如何强制@media print进行自动化测试?

从bootstrap,我hidden-print打算在打印时隐藏某些东西.我想写一个自动化测试来验证这一点.我不知道如何强制浏览器以便@media print触发媒体查询.

目前我们正在使用量角器进行此类测试,但如果任何人都可以使用其他工具提供任何解决方案,那将是一个很好的起点.

css testing automated-tests media-queries protractor

6
推荐指数
0
解决办法
152
查看次数

Facebook点击按钮时显示错误

我想像按钮一样显示facebook.当用户点击该按钮时,它应该在用户成功地喜欢该页面后进行回调.这是我的代码:

<div class="fb-like" data-href="https://developers.facebook.com/docs/plugins/" data-width="200" data-layout="box_count" data-action="like" data-size="large" data-show-faces="false" data-share="false"></div>
<div id="fb-root"></div>
<script>(function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "//connect.facebook.net/en_US/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));
</script>
<script>
window.fbAsyncInit = function() {
    FB.init({
        appId      : '510679165797120',
        xfbml      : true,
        version    : 'v2.6'
    });
    FB.Event.subscribe('edge.create', function(response) {
        console.log('hello'); 
    });
};      
</script>
Run Code Online (Sandbox Code Playgroud)

但它没有用.当您单击"赞"按钮时,它会显示错误.有人可以告诉我如何解决这个问题?

facebook facebook-like

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

如何在javascript单元测试期间加载二进制文件?

在我的应用程序中,用户使用HTML5拖放来处理二进制文件.那部分代码运行正常.在chrome中,我拖动一个二进制文件并使用FileReader创建一个arrayBuffer.这一切似乎都很好.我正在为这个功能编写测试,但我很茫然.如何将二进制文件加载到单元测试中?对于我正在测试的一些代码,我只需要一个arrayBuffer.目前,我手动创建了arrayBuffer,但这不是一个可持续的解决方案.为了使我的测试有效,我需要能够随时抛出一个新的二进制文件并进行新的测试.我的测试环境是testacular + jasmine.

( function() {"use strict";
    function loadSimpleDataView() {
      //instead of defining ArrayBuffer, 
      //I want it to be generated based upon an external file
      var buffer = new ArrayBuffer(4), dataView = new DataView(buffer), int8View = new Int8Array(buffer);
      int8View.set([0x00,0x01,0x02,0x03]);

      return dataView;
    }

    describe('mymodule', function() {

      it('mytest', function() {
        var dataView  = loadSimpleDataView();

        expect(dataView).toBeDefined();
        //do rest of tests
      });
    });
  }());
Run Code Online (Sandbox Code Playgroud)

javascript jasmine arraybuffer karma-runner

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

如何使图例扩展字段集的全宽并保持内容填充?

我的目标是渲染带边框的字段集,并使用背景颜色将图例放在顶部.图例的背景颜色应扩展到字段集的整个宽度.

基于Make a legend填充字段集中的整个宽度,我开始使用以下jsfiddle:http://jsfiddle.net/pdgreen/wcYXX/0.

它看起来不错,但fieldset没有填充,因此表单元素太靠近边框.当我添加填充时,我留下:http://jsfiddle.net/pdgreen/wcYXX/1/.

内容看起来很好,但标题不再扩展字段集的宽度.

如果我用a包围内容div,我可以添加填充:http://jsfiddle.net/pdgreen/wcYXX/2/,但这需要额外的div.

有没有办法让它看起来像第三个小提琴,没​​有额外的div

html css

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

如何使用跨多天的Google Apps脚本创建AllDay事件并显示为单个栏

我有一个脚本,可以获取谷歌表的事件信息,并将它们添加到指定的谷歌日历.到目前为止一切正常,除非我尝试创建一个跨越多天的全天活动.我正在与之抗争的情景是度假.如果我手动创建事件,我可以选择"全天"并设置两个不同日期的开始和结束日期.注意,不使用"重复...".视觉上该事件跨越指定的日期.这就是我想用我的脚本复制的内容.

据我所知,API仅提供:

calendar.createEvent(title, startTime, endTime)
Run Code Online (Sandbox Code Playgroud)

这会创建一个跨越几天的非全天事件,但它会显示不是我想要的开始时间.该活动是真正的全天活动.

calendar.createAllDayEvent(title, date)
Run Code Online (Sandbox Code Playgroud)

只创造一天的全天活动.

似乎缺少的是

calendar.createAllDayEvent(title, startDate, endDate)
Run Code Online (Sandbox Code Playgroud)

这是讨论的内容:https://code.google.com/p/google-apps-script-issues/issues/detail?id = 952,但此问题没有任何重大变化.

这里讨论了一个可能的解决方法:如何使用Google Apps脚本创建两天的AllDay事件?.问题是创建看起来像多个单日全天活动.我希望多天能够显示为跨越多天.

有没有人找到任何其他工作?

google-calendar-api google-apps-script

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

如何配置springboot以在集成测试期间包装DataSource?

我的目标是进行集成测试,确保在查找期间不会发生太多数据库查询.(这有助于我们捕获由于错误的JPA配置导致的n + 1个查询)

我知道数据库连接是正确的,因为测试运行期间没有配置问题,只要测试MyDataSourceWrapperConfiguration中没有包含.但是,一旦添加,就会发生循环依赖.(请参阅下面的错误)我认为@Primary有必要让JPA/JDBC代码使用正确的DataSource实例.

MyDataSourceWrapper是一个自定义类,它跟踪给定事务发生的查询数,但它将实际数据库工作委托给DataSource传入的via构造函数.

错误:

The dependencies of some of the beans in the application context form a cycle:

   org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration
???????
|  databaseQueryCounterProxyDataSource defined in me.testsupport.database.MyDataSourceWrapperConfiguration 
?     ?
|  dataSource defined in org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Tomcat
?     ?
|  dataSourceInitializer
???????
Run Code Online (Sandbox Code Playgroud)

我的配置:

@Configuration
public class MyDataSourceWrapperConfiguration {

    @Primary
    @Bean
    DataSource databaseQueryCounterProxyDataSource(final DataSource delegate) {
        return MyDataSourceWrapper(delegate);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的测试:

@ActiveProfiles({ "it" })
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration({ DatabaseConnectionConfiguration.class, DatabaseQueryCounterConfiguration.class })
@EnableAutoConfiguration
public class EngApplicationRepositoryIT {

    @Rule …
Run Code Online (Sandbox Code Playgroud)

spring spring-jdbc spring-boot

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