所以,我正在用node/express + jade combo编写一个应用程序.
我有client.js,在客户端加载.在该文件中,我有从其他JavaScript文件调用函数的代码.我的尝试是使用
var m = require('./messages');
Run Code Online (Sandbox Code Playgroud)
为了加载messages.js(就像我在服务器端一样)的内容,然后加载该文件的调用函数.但是,require没有在客户端定义,它会抛出窗体的错误Uncaught ReferenceError: require is not defined.
这些其他JS文件也在客户端的运行时加载,因为我将链接放在网页的标题上.因此,客户端知道从这些其他文件导出的所有函数.
如何从打开服务器套接字messages.js的主client.js文件中的其他JS文件(例如)中调用这些函数?
在我的gulpfile中我有
var gulp = require('gulp');
var browserSync = require('browser-sync').create();
var sass = require('gulp-sass');
var babel = require("gulp-babel");
var rename = require('gulp-rename');
var source = require('vinyl-source-stream');
var browserify = require('gulp-browserify');
var notify = require("gulp-notify");
gulp.task('js', function () {
gulp.src('js/main.js')
.pipe(babel())
.pipe(browserify())
.on('error', errorAlert)
.pipe(rename('./dist/js/bundle.js'))
//.pipe(uglify())
.pipe(gulp.dest('./'))
.pipe(notify({title: "Success", message: "Well Done!", sound: "Glass"}));
})
Run Code Online (Sandbox Code Playgroud)
并在我的app.js我试图导入但得到错误
import SimpleBreakpoints from 'simple-breakpoints'
Run Code Online (Sandbox Code Playgroud)
知道如何摆脱错误并使用导入语法吗?
编辑:.babelrc
{
"presets": ["es2015"],
}
Run Code Online (Sandbox Code Playgroud) babel ×1
browserify ×1
ecmascript-6 ×1
express ×1
gulp ×1
javascript ×1
node.js ×1
pug ×1
sockets ×1