小编Man*_*tel的帖子

如何从Vue + webpack + vue-loader项目中的不同js文件导入函数

(请参阅结尾为什么这不是一个骗局我如何在另一个JavaScript文件中包含JavaScript文件?)

Javascipt + Vue + webpack + vue-loader noob ...在最简单的事情上磕磕绊绊!

我有App.vue一个模板:

<template>
 <div id="app">
     <login v-if="isTokenAvailable()"></login>
 </div>
</template>
Run Code Online (Sandbox Code Playgroud)

isTokenAvailable以正常方式为Vue 声明了该方法methods.它使用我在单独js文件中编写的函数:

<script>
import * as mylib from './mylib';

export default {
  ....
    methods:{
        isTokenAvailable: () => {
            return mylib.myfunc();
        }
    }
}
</script>
Run Code Online (Sandbox Code Playgroud)

mylib 像这样开始:

import models from './model/models'
import axois from 'axios'

export default function() {
    // functions and constants
}
Run Code Online (Sandbox Code Playgroud)

当我运行项目时,我收到警告:

export 'myfunc' (imported as 'mylib') was not found …
Run Code Online (Sandbox Code Playgroud)

javascript module webpack vue-loader vuejs2

35
推荐指数
4
解决办法
6万
查看次数

为什么会出现"表达式中的数字溢出"警告

使用intellij 15.0.3 + Java 8u65 ...

lower = System.currentTimeMillis();
long upper = lower + 31536000000L; //add a year-ish
Run Code Online (Sandbox Code Playgroud)

工作良好.但如果我这样做:

lower = System.currentTimeMillis();
long upper = lower + (1000L*60*60*24*365); 
Run Code Online (Sandbox Code Playgroud)

Intellij现在发出警告"表达式中的数字溢出".我知道这实际上是否属实,并且一直警告两种表达方式,但事实并非如此.

任何人都知道为什么第二个表达式产生警告?我宁愿以这种方式进行分解而不是数字,因为项目中的其他开发人员更容易理解它正在做什么(尽管我想我可以发表评论).代码仍然编译明显,但我发现我的构建中的警告像一个我无法划伤的痒.

编辑 感谢您的回复......我认为这只是Intellij中的一个缓存问题...如果我知道复制/粘贴上面的内容我就不会收到警告.如果我在10次粘贴1或2次后尝试编辑它,我会弹出警告.

java intellij-idea intellij-15

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

如何在Spring Boot控制器中返回图像并像文件系统一样提供服务

我已经尝试过Stackoverflow中给出的各种方法,也许我错过了一些东西.

我有一个Android客户端(其代码我无法更改),目前正在获取如下图像:

HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
Run Code Online (Sandbox Code Playgroud)

url图像的位置在哪里(CDN上的静态资源).现在,我的Spring Boot API端点需要以相同的方式表现得像文件资源,以便相同的代码可以从API获取图像(Spring引导版本1.3.3).

所以我有这个:

@ResponseBody
@RequestMapping(value = "/Image/{id:.+}", method = RequestMethod.GET, consumes = MediaType.ALL_VALUE, produces = MediaType.IMAGE_JPEG_VALUE)
public ResponseEntity<byte[]> getImage(@PathVariable("id")String id) {
    byte[] image = imageService.getImage(id);  //this just gets the data from a database
    return ResponseEntity.ok(image);
}
Run Code Online (Sandbox Code Playgroud)

现在,当Android代码试图让http://someurl/image1.jpg我在日志中出现此错误时:

解决处理程序中的异常[public org.springframework.http.ResponseEntity com.myproject.MyController.getImage(java.lang.String)]:org.springframework.web.HttpMediaTypeNotAcceptableException:找不到可接受的表示

插入http://someurl/image1.jpg浏览器时会发生同样的错误.

奇怪的是,我的测试检查确定:

Response response = given()
            .pathParam("id", "image1.jpg")
            .when()
            .get("MyController/Image/{id}");

assertEquals(HttpStatus.OK.value(), response.getStatusCode());
byte[] array = response.asByteArray(); //byte array is identical to test image
Run Code Online (Sandbox Code Playgroud)

我如何使其行为像正常方式提供的图像?(注意我无法更改android代码发送的内容类型标题)

编辑 …

java spring-mvc spring-boot

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

如何在swift/objective c中打开所有iphone 7 LED

类似的问题这一个,但对于iPhone 7.

iPhone 7有2个琥珀色LED和2个白色LED.当您打开割炬时,只有1个LED亮起.在我的应用程序中使用相机时,琥珀色会间歇性地打开(我似乎无法控制它).

所以我真的有两个问题:

  1. 我可以在Swift中根据需要打开两个白色 LED吗?
  2. 有没有办法确保琥珀色永不开启?

编辑

我已经检查过AVCaptureDevice并且相关(无论是什么记录在案),所以希望有人能够看到发动机罩下的人,或者找到另一种方式.

iphone ios swift swift3 iphone7plus

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

使用dropwizard + jersey客户端时如何避免依赖冲突

我有一个DropWizard REST API编写和工作.其中一个资源端点实际上写了一封电子邮件,但是只要我添加以下依赖项,DropWizard就会在启动时失败

<dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-client</artifactId>
        <version>1.18.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-core</artifactId>
        <version>1.18.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey.contribs</groupId>
        <artifactId>jersey-multipart</artifactId>
        <version>1.18.1</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

DropWizard依赖项是:

<dependency>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-core</artifactId>
        <version>0.8.1</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

启动时的错误很长,总结如下

    WARN  [2015-05-01 20:06:08,887] org.glassfish.jersey.internal.Errors: The following warnings have been detected: WARNING: Unknown HK2 failure detected:
MultiException stack 1 of 2
java.lang.NullPointerException
    at com.sun.jersey.core.provider.jaxb.AbstractJAXBProvider.setConfiguration(AbstractJAXBProvider.java:113)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    ....
    MultiException stack 2 of 2
java.lang.IllegalStateException: Unable to perform operation: method inject on com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider$App
    at org.jvnet.hk2.internal.ClazzCreator.create(ClazzCreator.java:395)
    ....
    MultiException stack 3 of 3 …
Run Code Online (Sandbox Code Playgroud)

java maven-2 dropwizard jersey-client

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

为什么 log4net 配置文件未被读取

log4net.xml我的解决方案的根目录中有一个文件。用于复制到 bin 的文件属性设置为Always copy。我已确认该文件已复制到 bin 目录。

在配置中,我设置了一个文件附加器(基本上是文档中的复制粘贴):

<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
 <file value="Logs\\log.log" />
 <appendToFile value="true" />
 <rollingStyle value="Date"/>
 <datePattern value="yyyyMMdd-HHmmss" />
 <layout type="log4net.Layout.PatternLayout">
  <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
 </layout>
</appender>
Run Code Online (Sandbox Code Playgroud)

我也有这条线AssemblyInfo.cs

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.xml", Watch = true)]
Run Code Online (Sandbox Code Playgroud)

记录器在代码文件中的设置如下:

private static ILog LOGGER = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
Run Code Online (Sandbox Code Playgroud)

我也将log4net.Config.XmlConfigurator.Configure();(也带有FileInfo参数)添加到了 main 中Program.cs

但是,如果我执行该程序,则不会创建预期的日志文件。我怀疑 log4net 甚至没有读取配置文件。

我错过了什么吗?从 VS 内部执行也不起作用(尽管它以某种方式拾取了 Console Appender 部分)。

类似的帖子:

c# log4net

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

为什么 CSS 在 `npm run dev` 和 `npm run build` 之间呈现不同?

我有一个简单的(ish)VueJs(2.5.2)应用程序,它依赖于 vuetify(1.5.6)。项目是通过 IntelliJ 使用 Vue cli 创建的,因此它是一个标准结构。

应用程序中只有 1 个组件,具有如下范围的 css:

<style scoped>
 .app-stores{
  font-size: 12px;
  text-align: center;
 }

 .app-stores img{
  max-width: 190px;
 }  

 .padded-checkout-btn {
  padding: 10px;
 }
</style>
Run Code Online (Sandbox Code Playgroud)

然后我在组件中使用它,如下所示:

 <v-btn class="padded-checkout-btn" color="green lighten-1" :disabled="!isCheckoutable()" @click="progressStepper(2)">Checkout {{currencySymbol + toPrice(calculateTotal())}}</v-btn>
Run Code Online (Sandbox Code Playgroud)

现在,如果我npm run dev在浏览器中本地运行并查看它,它看起来就像我期望的填充:

正确的填充

但是,如果我运行npm run build(对代码没有任何更改)并上传到站点,则填充似乎消失了:

不正确的填充

我检查了构建的 css 文件,它似乎在那里:

.padded-checkout-btn[data-v-dedb1744]{padding:10px}
Run Code Online (Sandbox Code Playgroud)

如果我检查结果源,我可以看到它在那里声明:

<button data-v-dedb1744="" type="button" class="padded-checkout-btn v-btn theme--light green lighten-1"><div class="v-btn__content">Checkout £7.00</div></button>
Run Code Online (Sandbox Code Playgroud)

问题:为什么它们不同?即使以某种方式隐藏了 CSS,运行 dev 与 build 的全部意义在于它们是相同的吗?关于如何诊断/修复的任何想法?

devbuild定义如下:

"scripts": { …
Run Code Online (Sandbox Code Playgroud)

css vuejs2 vuetify.js

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

如何使用java收集器连接嵌套的List <Long>

给定这个嵌套结构,我想检索不同的Longs列表:

Class A
public List<B> getBs()

Class B
public List<Long> getIds()


List<A> list = ...
// how do I now get all of longs as a distinct list
Run Code Online (Sandbox Code Playgroud)

我意识到我可以做2 for循环,但是考虑到Java8的新功能,我只是习惯了,我确信有更好的方法.

澄清一下,我要求List<long>(不是List<A>)

谢谢

java lambda java-8

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

如何在线程上实现保证的睡眠时间

我要求每50毫秒调用一个类方法.我不使用,Thread.sleep因为它非常重要,它尽可能精确地发生在milli,而sleep只保证最短的时间.基本设置如下:

public class ClassA{
    public void setup(){
        ScheduledExecutorService se = Executors.newScheduledThreadPool(20);
        se.scheduleAtFixedRate(this::onCall, 2000, 50, TimeUnit.MILLISECONDS);
    }

    protected void onCall(Event event) {
        // do something
    }
}
Run Code Online (Sandbox Code Playgroud)

现在这个大体上工作正常.我已经把System.out.println(System.nanoTime)onCall检查其被称为精确到我希望它是.我发现在100次通话过程中有一个1-5毫秒的漂移,这会一次又一次地纠正.

不幸的是,5毫秒漂移对我来说非常重要.1毫米的漂移是可以的,但是在5毫秒时,onCall由于其他物体的状态,它会影响我正在进行的计算.如果我能让调度程序自动纠正,如果一次调用晚了5ms,下一次将在45ms而不是50ms发生,那几乎可以.

我的问题是:在Java中有没有更精确的方法来实现这一目标?我现在能想到的唯一解决方案是check每1ms 调用一个方法并检查时间,看它是否在50ms标记处.但是,如果在偶然情况下错过了精确的50ms间隔(49,51),那么我需要保持一些逻辑.

谢谢

java multithreading

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

如何使用Spring + Mongo更新并添加到子文档列表

我在MongoDB集合中有一个像这样的文档:

{
  id : ... 
  listA:[{
          id: ...,
          thing:...,
          listB:[{...},{...}]
          },...
            ]
}
Run Code Online (Sandbox Code Playgroud)

(顶级ID是正常自动生成的MongoDB ID。子文档对象的另一个ID是我分别生成并推送到列表中的伪ID)

问题:我想(1)添加到listB(2)更改thing

该对象可能非常笨重,并且可能有多个线程正在该对象上运行,因此我想避免先发生findOne,先更新后再save发生场景类型。

我想在Spring Data中以与推送到相似的方式进行操作listA,即

@Autowired
private MongoOperations operations;

public void addStuff(String id, Stuff stuff) {
    operations.updateFirst(Query.query(Criteria.where("_id").is(id)),
            new Update().addToSet("listA", stuff), Stuffs.class);
}
Run Code Online (Sandbox Code Playgroud)

但是,我在生成正确的查询/标准时遇到了麻烦。

提前致谢。

java spring-data spring-mongo

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

为什么 Maven 不在多模块项目中安装依赖项?

我的项目结构(多模块)是这样的

parent
    projectA
    projectB
    ... other modules
Run Code Online (Sandbox Code Playgroud)

parent实际上也有一个父级(Spring Boot)。

我已经设置了一个 Jenkins 作业来对每次提交进行编译和测试,因此它运行:

mvn -f pom.xml clean install
Run Code Online (Sandbox Code Playgroud)

一切都很好。ProjectB依赖于ProjectA(类似于项目的常见类类型)并且是一个 Spring boot 应用程序。所以依赖信息是常规的:

<dependency>
        <groupId>Group</groupId>
        <artifactId>ProjectA</artifactId>
        <version>1.0-SNAPSHOT</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

ProjectBJenkins 中有一项单独的工作来构建可部署的 jar 文件并将其部署到服务器。所以命令是:

mvn -f ProjectB/pom.xml clean install antrun:run
Run Code Online (Sandbox Code Playgroud)

此操作失败并显示如下消息:

[WARNING] The POM for Group:ProjectB:1.0-SNAPSHOT is missing, no dependency information available
...
[ERROR] Failed to execute goal on project host-api: Could not resolve dependencies for project Group:ProjectB:1.0-SNAPSHOT: The following artifacts could not be resolved: Group:ProjectA:jar:1.0-SNAPSHOT...
Run Code Online (Sandbox Code Playgroud)

现在我可以通过mvn …

java maven

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