我正在编写一个简单的请求处理程序来返回一对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) 我试图让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) 我正在使用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)
我应该做些什么来扩展内置本机?
谢谢!
我目前正在研究一个反应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同时使用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补充),但我该怎么办?
我用的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) 我用来构建我的应用程序的技术是React,Web-pack,Babel和AlT(flux实现)
当web pack尝试编译我的应用程序时,我收到错误.不确定我缺少哪些库.
有人可以请教吗?
##.babelrc file##
{"presets": ["react", "es2015", "stage-0"]}
Run Code Online (Sandbox Code Playgroud)
我有一个非常标准的节点模块使用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')...
从版本8开始,我可以在Node.js中使用ES6模块语法吗?在这个网站上已经提出过类似的问题,但是答案已经过时了.我想知道Node.js的新版本情况是否已经改变了?
给出这样的代码:
import { el, mount } from 'https://unpkg.com/redom@3.2.1/dist/redom.es.js';
Run Code Online (Sandbox Code Playgroud)
有没有办法启用子资源完整性验证,以确保CDN资产返回预期的内容?
javascript ×7
babeljs ×6
ecmascript-6 ×3
node.js ×3
webpack ×3
gulp ×2
reactjs ×2
browserify ×1
es6-modules ×1
http ×1
npm ×1
package.json ×1
react-alt ×1
typescript ×1