小编Mic*_*bry的帖子

与Gulp一起订购Concat脚本

比方说,例如,您正在Backbone或其他任何东西上构建项目,并且您需要按特定顺序加载脚本,例如underscore.js需要先加载backbone.js.

如何使脚本连接以便它们按顺序排列?

// JS concat, strip debugging and minify
gulp.task('scripts', function() {
    gulp.src(['./source/js/*.js', './source/js/**/*.js'])
    .pipe(concat('script.js'))
    .pipe(stripDebug())
    .pipe(uglify())
    .pipe(gulp.dest('./build/js/'));
});
Run Code Online (Sandbox Code Playgroud)

我的脚本顺序正确source/index.html,但由于文件是按字母顺序组织的,gulp会underscore.js在之后连接backbone.js,并且我的脚本顺序source/index.html无关紧要,它会查看目录中的文件.

那么有人对此有所了解吗?

我有最好的办法是重新命名与供应商的脚本1,2,3给他们以正确的顺序,但我不知道如果我喜欢这个.

随着我学到更多,我发现Browserify是一个很好的解决方案,起初可能很痛苦,但它很棒.

javascript gulp

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

React 18 TypeScript 儿童 FC

我升级到 React 18 并且编译得很好。如今,似乎每个使用子组件的组件都会抛出错误。Property 'children' does not exist on type 'IPageProps'.

在儿童道具自动包含在FC界面中之前。现在看来我必须手动添加children: ReactNode对于反应儿童来说,正确的打字稿类型是什么?

这是 React 18 更新的一部分,还是我的环境出了问题?

包.json

"react": "^18.0.0",
"react-dom": "^18.0.0",
"next": "12.1.4",
"@types/react": "18.0.0",
"@types/react-dom": "18.0.0",
Run Code Online (Sandbox Code Playgroud)

tsconfig.json

{
  "compilerOptions": {
    "target": "esnext",
    "lib": ["dom", "dom.iterable", "esnext"],
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "preserve",
    "alwaysStrict": true,
    "sourceMap": true,
    "incremental": true
  },
  "include": ["src"],
  "exclude": ["node_modules"]
}
Run Code Online (Sandbox Code Playgroud)

javascript typescript reactjs

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

如何从DockerFile运行docker实例?

我终于想出了如何让docker启动并运行.

docker run --name my-forum-nodebb --link my-forum-redis:redis -p 80:80 -p 443:443 -p 4567:4567 -P -t -i nodebb/docker:ubuntu
Run Code Online (Sandbox Code Playgroud)

我将它链接到一个redis实例,很酷.

这是从头开始,我假设我创建了redis实例

docker run --name my-forum-redis -d -p 6379:6379 nodebb/docker:ubuntu-redis
Run Code Online (Sandbox Code Playgroud)

它从远程仓库中提取图像?

NodeBB提供了Dockerfile https://github.com/NodeBB/NodeBB/blob/master/Dockerfile我真的不太确定如何使用它.我假设我可以通过在我的遥控器上调用此Dockerfile以某种方式创建本地环境.

它是否正确?如果是这样,我如何创建指向远程的本地实例?

docker docker-machine

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

使用gulp将bootstrap.less文件编译成主bootstrap.css?

我真的很喜欢gulpjs这是我的首选任务经理,但我希望我能在几个月前了解任务经理并进入gruntjs,主要是为了获得支持.对于gulpjs来说,很难找到有关具体事物的信息.

我的问题是我如何设置我,gulpfile.js以便我可以编辑bootstrap.less文件variables.less.我确实安装了" gulp-less ",并在下面实现了它.

var less = require('gulp-less'),
    path = require('path');

gulp.task('less', function () {
  gulp.src('./source/less/variables.less')
    .pipe(less())
    .pipe(gulp.dest('./source/css/bootstrap.css'));
});
Run Code Online (Sandbox Code Playgroud)

运行后我收到以下错误gulp less.

events.js:72 throw er; // Unhandled 'error' event ^
Error: EEXIST, mkdir 'C:\wamp\www\myproj\source\css\bootstrap.css'

我不认为我的sass任务代码设置正确,我是一个gulp noobie但我尝试了多种组合,是的我确实使用了" gulp-less "文档中的示例,我使用的代码是最简洁明了的切断我想要完成的代码.

编辑:我在谷歌上发现了一些好的关键词我发现了一些关于这个的最近帖子,这里是一个开始Gulp与Gulp-less维护文件夹结构似乎没有一个好的答案生病必须阅读.

附加:我忘记了使用文档中的代码时,我收到了alert.less的错误

gulp.task('less', function () {
  gulp.src('./source/less/*.less')
    .pipe(less({
      paths: [ path.join(__dirname, 'less', 'includes') ]
    }))
    .pipe(gulp.dest('./source/css'));
});
Run Code Online (Sandbox Code Playgroud)

错误

stream.js:94
throw er; // Unhandled stream error in pipe.
^
[gulp] Error in plugin 'gulp-less': …

javascript gulp gulp-less

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

如何用laravel连接到mysql?

这是一个如此简单的基本问题我不认为有很多人问这个,但我只是如何通过localhost phpmyadmin与laravel连接到mySql(我搜索过,有一些东西,但我需要问,因为我是一个菜鸟,我想问一下,我看到的东西我不是100%得到的,或者我尝试了它并没有帮助)?

我正在使用backbone.js并且是laravel的新手,我在里面安装了laravelC:\wamp\www\laravel-project

我试过了

c:\wamp\www\laravel-project> php artisan migrate:make create_tasks_table --table tasks --create
Run Code Online (Sandbox Code Playgroud)

c:\wamp\www\laravel-project> php artisan migrate
Run Code Online (Sandbox Code Playgroud)

我希望必须定义数据库信息,我检查C:\wamp\www\laravel-project\app\config\database.php它看起来是正确的,mySQL设置默认root为用户名,''为密码.

运行后我得到的命令行错误php artisan migrate

[PDOException]
SQLSTATE[HY000] [1049] Unknown database 'database'    
Run Code Online (Sandbox Code Playgroud)

我正在使用Windows 8,并为我的localhost服务器wamp,它当然包括phpmyadmin和mySql.所以我相信有很多方法可以使用mySql,但我认为我没有正确设置laravel和phpmyadmin.

因此,任何见解都将是惊人的,简单的点.

编辑:

实际上想到这一点,也许我需要创建一个名为的数据库database让我试试.马上回来.好的,我会回答我的问题,或者有人可以,以防万一有人搜索这个主题...... 确保数据库中定义的数据库与phpmyadmin中存在的数据库匹配是关键C:\wamp\www\laravel-project\app\config\database.php.没问题!

php mysql localhost laravel

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

在表达如何将用户重定向到外部URL?

我有一个使用node.js和braintree的支付系统,当支付成功时,我想将用户发送到后端.我的后端设置在其他地方.

我试过了

res.writeHead(301,
  {Location: 'http://app.example.io'}
);
res.end();
Run Code Online (Sandbox Code Playgroud)

所以window.location显然不可用.我想不出任何重定向用户的方法?

routes node.js express

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

如何检查数据属性是否发生变化?

var max = this.collection.max(function(player) {
    return player.get('points');
});
Run Code Online (Sandbox Code Playgroud)

我花了几个小时玩backbone.js试图找出如何检查我的最大模型是否发生变化,这几乎是不可能的,所以我决定将模型cid设置为数据属性,现在似乎无法检查数据是否 - 属性变化?

我设置了这样的属性,

$(this.$el).attr('data-id', max.cid)
Run Code Online (Sandbox Code Playgroud)

当我的应用重新渲染数据属性时,可能会或可能不会获得新值.我真的不确定如何检查它是否有变化,我已经看到了很多各种脏的黑客和setInterval功能,但没有什么看起来很干净,所以我希望有人知道一个很好的干净方式来做到这一点?

基本上我只想控制元素,如果它从另一个模型渲染新数据(意味着如果另一个模型采用最大值),我需要检查id以确认模型是新版本,并运行动画或渲染它表明它是一个新的模型.

javascript jquery custom-data-attribute

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

构建一个JavaScript库,为什么要这样使用IIFE?

我注意到很多库使用下面的这种风格来定义他们的库.我还注意到第一个自调用函数与Require.js或AMD系统有关,它们总是将工厂作为参数,我将更多地看待Require.js,总是进入Browserify.

为什么主代码传递到括号内的第一个自调用函数的末尾,这是一个闭包,或者只是被认为是一个匿名函数,我将深入研究两者.这有什么好处?它看起来像瓶盖内笔者经过一string,thiscallback.

这会给我的库一个干净安全的方法来全局化下面这个例子中的主要对象Please吗?

(function( globalName, root, factory ) {
    if ( typeof define === 'function' && define.amd ) {
        define( [], factory );
    }
    else if ( typeof exports === 'object' ) {
        module.exports = factory();
    }
    else{
        root[globalName] = factory();
    }
}('Please', this, function(){
Run Code Online (Sandbox Code Playgroud)

我正在尝试深入挖掘JavaScript并创建我自己的小型MVC架构,我不想听到我很傻或以前做过,我想挑战自己并学习.

如果有任何很好的资源来创建JavaScript库或甚至更好的MVC库我很想知道.

javascript model-view-controller umd

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

为什么在聊天应用程序中使用redis?

我刚刚建立了一个聊天,它工作得很好,但我想我需要将它连接到redis.

根据我的理解,如果客户端刷新或服务器出现故障,我需要redis进行扩展和保存一些数据.

1on1聊天的核心组件是我存储用户,并将a socket.id与这些用户相关联

var users = {};
io.sockets.on('connection', function (socket) {

  // store the users & socket.id into objects
  users[socket.handshake.headers.user.username] = socket.id;

});
Run Code Online (Sandbox Code Playgroud)

现在在客户端我可以说嘿我想与"杰克"聊天,只要这是一个有效的用户然后我可以将该数据传递给服务器,即用户名和消息就像杰克那样.

var chattingWith = data.nickname; // this is Jack passed from the client side
io.to(users[chattingWith]).emit();
Run Code Online (Sandbox Code Playgroud)

我的问题是,我为什么要使用redis?我应该在redis中存储什么?我该如何与这些数据互动?

我正在使用 io.adapter

io.adapter(redisIo({ 
  host: 'localhost', 
  port: 6379,
  pubClient: pub,
  subClient: sub
}));
Run Code Online (Sandbox Code Playgroud)

同时从示例应用程序中读取代码,我看到当套接字连接时,它们将套接字数据保存为redis,就像这样.

// store stuff in redis
redisClientPublish.sadd('sockets:for:' + userKey + ':at:' + room_id, socket.id, function(err, socketAdded) {
  if(socketAdded) {
    redisClientPublish.sadd('socketio:sockets', socket.id);
    redisClientPublish.sadd('rooms:' + room_id + ':online', userKey, …
Run Code Online (Sandbox Code Playgroud)

sockets redis node.js socket.io

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

快速检测请求是否来自子域?

我正在使用npm子域,并保持路由清洁我想做的事情.

router.get('/login_success',function(req,res) {

  if(req.subdomain) {
    res.redirect('/');
  } else {
    res.sendStatus(200);
  } 

});
Run Code Online (Sandbox Code Playgroud)

在上文中,如果用户通过子域登录应用程序,我将重定向到呈现配置文件的子域根.

如果用户通过非子域路由登录,则使用ajax呈现视图,因此我需要发送200状态,说明用户有效.

我认为这更加干净,每个都有两个单独的回调路由.

所以我的问题是,有没有办法检测req是来自子域还是常规域.

我知道有,req.headers.origin但我想知道是否有更相对的方式,所以当在本地和生产之间来回时,我不必改变它.

routing routes node.js express

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