小编jon*_*bbs的帖子

Gulp文件运行任务并通知两次

我刚刚开始使用gulp,需要我想要使用的所有插件并编写第一个用于sass编译的任务.它似乎工作,但有两个问题,首先当我在命令行上输入gulp时,似乎需要3或4秒才能启动,这似乎比grunt慢(我开始使用gulp,因为我知道它更快).这是正常的吗?

但主要的问题是我有一个调用sass任务的默认任务.命令行输出似乎表明两者都在运行,这意味着sass被编译两次.它也输出我的两次gulp-notify通知,这似乎不对.

这是命令行输出...

? gulp default
[00:53:40] Using gulpfile ~\Desktop\jon\gulpfile.js
[00:53:40] Starting 'sass'...
[00:53:40] Finished 'sass' after 10 ms
[00:53:40] Starting 'default'...
[00:53:40] Finished 'default' after 7.93 ?s
[00:53:41] gulp-notify: [Gulp notification] Css created
[00:53:41] gulp-notify: [Gulp notification] Css created
Run Code Online (Sandbox Code Playgroud)

这是我的gulp文件全部...

var gulp = require('gulp'),
    gutil = require('gulp-util'),
    compass = require('gulp-compass'),
    rename = require('gulp-rename'),
    uglify = require('gulp-uglify'),
    watch = require('gulp-watch'),
    concat = require('gulp-concat'),
    notify = require('gulp-notify'),
    jshint = require('gulp-jshint'),
    autoprefixer = require('gulp-autoprefixer'),
    minifyCSS = require('gulp-minify-css'),
    traceur = require('gulp-traceur'),
    svgmin = …
Run Code Online (Sandbox Code Playgroud)

gulp gulp-notify

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

SQL服务器 - 选择上个月具有日期的所有项目

我的SQL Server数据库中有一个名为" items " 的表,其中有一个名为" dateFinished " 的列.

我有一个脚本将在每个月的第一天运行,需要选择上个月完成的所有项目.

因此,例如,在2月1日,它将需要选择dateFinished在1月1日大于或等于00:00且在2月1日小于00:00的所有项目.

它还需要跨越新的一年(例如DEC - JAN).

有任何想法吗?

sql t-sql sql-server datetime

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

Windows Azure入门

我听起来像是一个完整的新手,但是这里......

我刚刚注册了一个Windows Azure帐户,并希望在浏览器中获得一个简单的hello world aspx页面以查看它是如何工作的但我似乎无法找到一个简单的指南来获得一个非常简单的Web应用程序运行.

我已经设置了"服务"并进入"部署"页面,但它要求我上传"应用程序包".

我查看了MSDN,但没有任何简单的指南,只是大量的文档谈论"角色"和"开发结构".对于精通HTML/CSS并且对asp.net有点了解的人来说,它也可能是另一种语言.

那么,有没有人知道如何上传一个简单的aspx页面,然后在浏览器中访问它?

乔恩

c# asp.net azure

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

室内设计师项目的画布或SVG

我即将开始一个房间设计师项目的工作,这个项目允许你将墙/门/家具等拖放到网格上来设计一个房间.我已经决定拖放透明PNG并绝对定位它们不会起作用,我不想使用flash,所以它是Canvas或SVG.

我:我之前从未使用过Canvas或SVG,但是我非常能胜任javascript和jQuery(我很好用OO Javascript,匿名函数,闭包,回调等)而且我读过Douglas Crockford的"Javascript:好的部分"并且大部分理解;-)

项目 - 需要从组件窗口拖放到设计器窗口,需要在平板电脑(而不是手机)上工作,因此触摸事件是一个问题.还需要工具提示,对象的分层等.如果我使用矢量图形,那么他们无论如何都需要有位图纹理(例如墙面板可能有墙纸纹理)

到目前为止,我已经阅读了一本关于Canvas的书,并得出以下结论......

帆布

  • 快速
  • 让你的头围在画布上重绘对象相当简单
  • 不知道还有鼠标事件
  • 像EaselJS,FabricJS和KinectJS这样的图书馆看起来很不错.

SVG

  • 可扩展(更容易构建缩放功能)
  • 易于从插图画家导入图形.
  • 绘图库看起来不够丰富/好.
  • 不知道回合鼠标/触摸事件.

所以,我需要很快解决如何做到这一点.现在我倾向于Canvas和一个好的库,因为我相信他们中的一些人可以导入SVG以获得可扩展性.

任何关于哪个方向的建议都将非常感谢.

javascript html5 svg canvas

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

AngularJS:承诺,你可以在使用.then()之后传回一个承诺吗?

我还是Angular的新手并承诺所以我希望我在这里有正确的想法.

我目前有一个数据层服务,它使用restangular来获取一些数据,然后返回一个promise,就像这样......

dataStore.getUsers = function (params) {
    return users.getList(params);
};
Run Code Online (Sandbox Code Playgroud)

然后,我调用此函数的控制器会收到一个承诺,就像这样......

$dataStore.getUsers(params).then(function (response) {
    $scope.users = response;
}, function(response) {
    $log.error("Get users returned an error: ", response);
});
Run Code Online (Sandbox Code Playgroud)

这很好用,但我想在传回数据存储之前使用我的数据存储区内的promise.我想使用.then()方法检查它是否失败并进行一些日志记录,然后,从sucess函数和失败函数我想将原始的promise返回给我的控制器.

然后,我的控制器可以像现在一样使用.then()方法,事实上,我不希望我的控制器代码完全改变,只是我的数据存储区代码.

这里有一些半伪代码来显示我想要的数据存储功能...

dataStore.getUsers = function (params) {

    users.getList(params).then(function (response) {
        $log("server responded")
        return original promise;
    }, function(response) {
        $log.error("server did not respond");
        return original promise;
    });

};
Run Code Online (Sandbox Code Playgroud)

javascript promise angularjs restangular angular-promise

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

在Redux中将Class实例存储在何处以便可重用?

我正在尝试在我的React / Redux / redux saga应用中实现Pusher的消息传递库Chatkit,而我是Redux的新手。连接到chatkit的代码如下所示:

const chatManager = new ChatManager({
    instanceLocator: 'v1:us1:80215247-1df3-4956-8ba8-9744ffd12161',
    userId: 'sarah',
    tokenProvider: new TokenProvider({ url: 'your.auth.url' })
})

chatManager.connect()
    .then(currentUser => {
        console.log('Successful connection', currentUser)
    })
    .catch(err => {
        console.log('Error on connection', err)
    })
Run Code Online (Sandbox Code Playgroud)

我需要全局存储chatManager和currentUser对象(它们是具有功能的复杂类的实例),以便以后可以再次使用它们来加入房间,订阅事件等。

我最初的想法是我应该将其存储在Redux中,因为它现在是我的“全局存储”,但后来我意识到它可能无法工作,因为它不是我从存储中取出的原始对象,它将大概是一个克隆。然后我读到,显然只有普通对象应该存储在Redux中。

那么,那些不是普通对象但需要全局存储的对象又在哪里呢?我不想将它们放在window对象上,因为我可能会将其转换为React Native应用程序,而且看起来还是很混乱。

reactjs redux redux-saga

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

在 material-ui 中复用自定义样式

这里是 material-ui 的新手,并试图找出在 js 中使用 css 的最佳方式。我可以从演示代码中看到,使用 'withStyles' 将样式作为类插入非常容易,但是如果我执行以下操作,我需要在每个组件中重新创建 'grow' 和 'defaultPadding' 样式。

import React from 'react';
import { withStyles } from '@material-ui/core/styles';
import Paper from '@material-ui/core/Paper';


function Dashboard(props) {

    const { classes } = props;

    return (

        <Paper className={classes.defaultPadding}>
            Hello
        </Paper>
    );

}

const styles = theme => ({
    grow: {
        flexGrow: 1
    },
    defaultPadding: {
        padding: theme.spacing.unit * 3 + 'px'
    }
});


export default withStyles(styles)(Dashboard);
Run Code Online (Sandbox Code Playgroud)

我可以轻松地在外部文件中创建一个工厂方法,该方法返回一个包含我所有默认样式的大型对象,但是如果我想使用诸如“theme.spacing.unit”之类的东西,我需要能够将现有主题传递给它.

那么,有没有办法创建一堆我自己的可重用样式,使用主题值,然后将它们导入任何组件?

额外问题:是否可以创建嵌套对象,以便我可以做这样的事情?...

className={classes.layout.header}
Run Code Online (Sandbox Code Playgroud)

reactjs material-ui

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

打字稿 d.ts 文件中的枚举

我是 Typescript 的新手,我在 create-react-project 中使用它。我有一个名为 /typings 的文件夹,我的 tsconfig.json 文件指向它,到目前为止,我已将所有类型声明放在该文件夹中的index.d.ts文件中。

到现在为止还挺好。“类型”和“接口”声明似乎在我的项目的所有部分都可用。我没有明确地从index.d.ts文件中导出它们,也没有将它们导入到任何其他文件中。

当我声明以下内容时,问题就出现了......

enum Gender {male, female}
Run Code Online (Sandbox Code Playgroud)

当我尝试在不同的文件中使用枚举时,出现错误...

Ambient const enums are not allowed when the '--isolatedModules' flag is provided
Run Code Online (Sandbox Code Playgroud)

我已经阅读了关于 SO 的其他答案,其中说您应该将枚举声明为常量,但这无济于事。我还看到建议您应该在文件底部“导出默认未定义”,但是当我这样做时,项目的其余部分中没有其他类型可用。

最后,我尝试更改我的编译器选项以设置"isolatedModules": false但在编译时它会自动切换回 true。显然 create-react-app 总是会这样做。

我应该怎么做才能让我的 index.d.ts 文件中声明的枚举可以自动用于我的项目的其余部分?

enums typescript create-react-app

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

使用本机调试器查看网络流量

我正在使用 create-react-native-app(所以,Expo)开发 React Native 应用程序,使用我的网络 IP 地址(192.xxx.xxx.xxx)在真实设备上进行测试。我已经设法远程启动并运行和调试 react-native-debugger。它在 3 个单独的窗口中打开 rn-debugger、redux devtools 和 chrome devtools。

我的问题是,是否可以从 Chrome 开发人员工具中看到网络选项卡的等效项,以显示进出应用程序的所有网络流量(例如,当我的应用程序使用 Axios 调用 API 时)?

Chrome 开发工具窗口中的实际网络选项卡大概只是显示调试器和本地设备上运行的应用程序之间的网络流量,所以它只显示调试器使用的 websocket 内容,而不是我的应用程序的网络流量。

为了解决这个问题,我可以在发出请求时对控制台进行大量日志记录,但作为 Web 开发人员,我习惯于能够在一个方便的视图中查看所有标头、json 和计时等。

react-native expo react-devtools react-native-debugger

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

当对象类型未知时,属性“xxx”在类型“object”上不存在

我在一个包含 React Router (v6) 的 React 项目中使用 Typescript。

React Router 从 useLocation() 钩子返回一个位置对象

const location = useLocation()
Run Code Online (Sandbox Code Playgroud)

它有一个称为“状态”的属性。State 是一个可以传递给任何 url 的对象,并且可以具有您想要的任何属性。它只是具有“对象”类型,因为用户可以在状态上设置任意数量的属性。

当我要访问可能属于或不属于国家一部分的财产时,麻烦就来了。我的 JS(非打字稿)代码有这个......

if(location.state && location.state.modals === true){...do something}
Run Code Online (Sandbox Code Playgroud)

但表达式的第二部分给了我一个错误...属性“modals”在类型“object”上不存在

现在,我知道一个通​​用对象(这是状态的类型,由库作者设置,而不是我)没有名为.modals的属性,但我对此无能为力,它可能确实有任何属性取决于我们当前所在的应用程序页面以及当时状态中包含的内容。

我对如何解决它有点不知所措。

javascript typescript reactjs react-router react-hooks

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