小编log*_*yth的帖子

使用fs.readFile在Node.js中读取和返回多个文件

我正在编写一个简单的请求处理程序来返回一对css文件.使用fs.readFileSync这很容易.但是,我很难使用异步版本的readFile完成相同的任务.以下是我的代码.让我的response.write()方法调用分成两个不同的回调似乎是有问题的.有人能指出我做错了什么吗?有趣的是,如果我在第一个else语句中放入response.end(),这段代码就可以工作.但是,这会产生一个问题,即第二个css文件没有返回(因为response.end()已被触发).

function css(response) {

  response.writeHead(200, {"Content-Type": "text/css"});

  fs.readFile('css/bootstrap.css', function(error, content){
    if(error){
      console.log(error);
    }
    else{
      response.write(content);
    }
  });
  fs.readFile('css/bootstrap-responsive.css', function(error, content){
    if(error){
      console.log(error);
    }
    else{
      response.write(content)
    }
  });
  response.end();
}
Run Code Online (Sandbox Code Playgroud)

node.js

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

Watchify更新事件永远不会在Virtualbox中触发

我试图让Watchify与Gulp合作,但似乎"更新"事件从未被解雇.

这是我的gulpfile.js:

"use strict";

var gulp = require('gulp');
var browserify = require('browserify');
var source = require("vinyl-source-stream");
var watchify = require('watchify');

var bundler = watchify(browserify({entries: ['./client/app/app.js'], cache: {}, packageCache: {}, fullPaths: true}));

gulp.task('js', bundle); 

function bundle() {
    console.log('bundle');
    return bundler.bundle()
    .pipe(source('bundle.js'))
    .pipe(gulp.dest('./dist'));
}

// this is never fired!
bundler.on('update', bundle);
Run Code Online (Sandbox Code Playgroud)

但是,当我明确地观察文件而没有观察时它起作用:

"use strict";

var gulp = require('gulp');
var browserify = require('browserify');
var source = require("vinyl-source-stream");
var watchify = require('watchify');

function bundle() {
    console.log('bundle');
    return browserify('./client/app/app.js')
    .bundle()
    .pipe(source('bundle.js'))
    .pipe(gulp.dest('./dist/'));
}

gulp.task('browserify', bundle); …
Run Code Online (Sandbox Code Playgroud)

javascript gulp

18
推荐指数
4
解决办法
5328
查看次数

使用Babel在ES6中扩展内置本机

我正在使用Babel扩展我的类与内置的本机数组

class NewArray extends Array {
  first() {
    return this[0];
  }
}

var a = new NewArray(1, 2, 3);
console.log(a.length); // 3
console.log(a); // [ 1, 2, 3 ]
console.log(a.first()); // trigger error
Run Code Online (Sandbox Code Playgroud)

在a.first()中,我收到此错误:

console.log(a.first());
              ^ 

TypeError: a.first is not a function
Run Code Online (Sandbox Code Playgroud)

我应该做些什么来扩展内置本机?

谢谢!

javascript ecmascript-6 babeljs

17
推荐指数
2
解决办法
4443
查看次数

Webpack缺少模块'找不到模块'

我目前正在研究一个反应webpack babel等网站并试图第一次构建.构建成功,但是当我打开浏览器时,我收到以下错误:

Uncaught Error: Cannot find module "/Users/michael.nakayama/Documents/Development/jamsesh/node_modules/webpack/node_modules/node-libs-browser/node_modules/process/browser.js"
Run Code Online (Sandbox Code Playgroud)

该模块存在.在浏览器中找到该实际网址会显示相关文件.但我无法弄清楚为什么webpack找不到它.我不知道这是babel6问题还是webpack问题,或者两者都不知道.我的配置文件如下所示:

var webpack = require('webpack');
var cleanWebpack = require('clean-webpack-plugin');

var ignore = new webpack.IgnorePlugin(new RegExp("/(node_modules|ckeditor)/"))

module.exports = {
  devtool: 'inline-source-map',
  entry: './lib/client/entry',
  output: {
    path: __dirname + '/public/js',
    filename: 'app.js',
    publicPath: 'http://localhost:8081/js/',
  },
  plugins: [
    ignore,
  ],
  resolve: {
    extensions: ['', '.js'],
    moduleDirectories: ['./node_modules']
  },
  module: {
    loaders: [
      {
        test: /\.js?$/,
        loaders: ['babel-loader?presets[]=react,presets[]=es2015,plugins[]=transform-es2015-classes,plugins[]=transform-react-jsx'],
        exclude: /(node_modules)/,
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

我的webpack服务器文件如下:

var WebpackDevServer = require('webpack-dev-server');

var webpack = require('webpack');
var config = …
Run Code Online (Sandbox Code Playgroud)

javascript webpack babeljs

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

Browserify和Babel gulp任务

我想用我的JavaScript同时使用Browserify和Babel.为此,我创建了一个gulp任务

gulp.task('babel', function() {
    return gulp.src('_babel/*.js')
        .pipe(browserify({ insertGlobals : true }))
        .pipe(babel({ presets: ['es2015'] }))
        .pipe(gulp.dest('_dev/js'));
});
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我想import在我的代码中使用时,我收到一个错误:

ParseError: 'import' and 'export' may only appear at the top level
Run Code Online (Sandbox Code Playgroud)

我的主要js文件非常简单:

import 'directives/toggleClass';
Run Code Online (Sandbox Code Playgroud)

我猜这是因为巴贝尔(并且是它的use strict补充),但我该怎么办?

javascript browserify gulp babeljs

16
推荐指数
1
解决办法
3397
查看次数

Webpack极端缓慢构建

我用的WebPack + 打字稿 + 反应.

webpack.config.js是:

var webpack = require('webpack');
var path = require('path');
var node_modules_dir = path.join(__dirname, 'node_modules');

var deps = [
  'react/react.js',
  'react-dom/react-dom.js',
];

var config = {
    devtool: 'source-map',
    context: __dirname + '/Scripts/ts',
    entry: {
        server: "./server.js",
        client: "./client.ts"
    },
    output: {
        path: path.resolve(__dirname, "Scripts/public/"),
        filename: '[name].bundle.js'
    },
    resolve: {
        alias: {},
        modulesDirectories: ["node_modules"],
        extensions: ['', '.webpack.js', '.web.js', '.ts', '.tsx', '.js']
    },
    module: {
        noParse: [],

        // Use the expose loader to expose the minified …
Run Code Online (Sandbox Code Playgroud)

javascript typescript reactjs webpack babeljs

16
推荐指数
2
解决办法
6733
查看次数

6.x待定提案更新中尚不支持React.js装饰器

我用来构建我的应用程序的技术是React,Web-pack,Babel和AlT(flux实现)

当web pack尝试编译我的应用程序时,我收到错误.不确定我缺少哪些库.

有人可以请教吗?

  ##.babelrc file##
  {"presets": ["react", "es2015", "stage-0"]}
Run Code Online (Sandbox Code Playgroud)

屏幕截图

reactjs webpack babeljs webpack-dev-server react-alt

15
推荐指数
2
解决办法
7977
查看次数

节点模块的根目录

我有一个非常标准的节点模块使用babel来转换我们的代码然后输出到'lib'文件夹.package.json将'main'指向'lib/index.js',这样人们就可以了require('my-module')

但是,如果我有一个子目录(例如my-module/server),那么当他们使用my-module时,他们必须这样做require('my-module/lib/server').我已经看到人们把post.buson复制到lib中的post构建步骤,但这对我来说只是感觉hacky和错误.在npm中有没有办法指定一个主目录,我的模块的任何require()都会从该目录开始?然后我可以让用户在没有lib部分的情况下需要('my-module/server')...

node.js npm package.json babeljs

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

我可以在Node.js 8中使用ES6模块吗?

从版本8开始,我可以在Node.js中使用ES6模块语法吗?在这个网站上已经提出过类似的问题,但是答案已经过时了.我想知道Node.js的新版本情况是否已经改变了?

javascript node.js ecmascript-6 es6-modules

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

是否可以使用ES6模块导入的子资源完整性?

给出这样的代码:

import { el, mount } from 'https://unpkg.com/redom@3.2.1/dist/redom.es.js';
Run Code Online (Sandbox Code Playgroud)

有没有办法启用子资源完整性验证,以确保CDN资产返回预期的内容?

javascript http ecmascript-6

14
推荐指数
3
解决办法
568
查看次数