Node.js Keystone+;反应:';导入&x27;和';出口';只能与';sourceType:module';
更新项目依赖项后,我开始面临错误。Browserify在解析用ES6编写的JS代码时遇到问题。Browserify似乎期待ES5 我不明白,为什么Node.js Keystone+;反应:';导入&x27;和';出口';只能与';sourceType:module';,node.js,ecmascript-6,browserify,ecmascript-5,keystonejs,Node.js,Ecmascript 6,Browserify,Ecmascript 5,Keystonejs,更新项目依赖项后,我开始面临错误。Browserify在解析用ES6编写的JS代码时遇到问题。Browserify似乎期待ES5 我不明白,为什么sourceType:module似乎是这里的问题 资料来源: var babelify = require('babelify'); var browserify = require('browserify-middleware'); var keystone = require('keystone'); var importRoutes =
sourceType:module
似乎是这里的问题
资料来源:
var babelify = require('babelify');
var browserify = require('browserify-middleware');
var keystone = require('keystone');
var importRoutes = keystone.importer(__dirname);
// Setup Route Bindings
exports = module.exports = function(app) {
app.use('/js', browserify('./client/scripts', {
transform: [babelify.configure({
extensions: ['es6'],
plugins: ['object-assign']
})]
}));
};
在上述代码中省略babelify
时,也会发生同样的情况:
var browserify = require('browserify-middleware');
var keystone = require('keystone');
var importRoutes = keystone.importer(__dirname);
// Setup Route Bindings
exports = module.exports = function(app) {
app.use('/js', browserify('./client/scripts'));
};
服务器控制台:
GET /js/Application.js 500 61.176 ms
Error thrown for request: /js/Application.js
Error: Parsing file /home/user/project/client/scripts/Application.js: 'import' and 'export' may appear only with 'sourceType: module' (1:0)
at Deps.parseDeps (/home/user/project/node_modules/module-deps/index.js:454:28)
at fromSource (/home/user/project/node_modules/module-deps/index.js:391:44)
at /home/user/project/node_modules/module-deps/index.js:385:17
at ConcatStream.<anonymous> (/home/user/project/node_modules/concat-stream/index.js:36:43)
at emitNone (events.js:91:20)
at ConcatStream.emit (events.js:185:7)
at finishMaybe (/home/user/project/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_writable.js:475:14)
at endWritable (/home/user/project/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_writable.js:485:3)
at ConcatStream.Writable.end (/home/user/project/node_modules/concat-stream/node_modules/readable-stream/lib/_stream_writable.js:455:41)
at DuplexWrapper.onend (/home/user/project/node_modules/readable-stream/lib/_stream_readable.js:504:10)
at DuplexWrapper.g (events.js:291:16)
at emitNone (events.js:91:20)
at DuplexWrapper.emit (events.js:185:7)
at endReadableNT (/home/user/project/node_modules/readable-stream/lib/_stream_readable.js:926:12)
at _combinedTickCallback (internal/process/next_tick.js:74:11)
at process._tickCallback (internal/process/next_tick.js:98:9)
GET/js/Application.js 500 61.176 ms
请求引发错误:/js/Application.js
错误:正在分析文件/home/user/project/client/scripts/Application.js:“导入”和“导出”只能与“sourceType:module”一起出现(1:0)
在Deps.parseDeps(/home/user/project/node_modules/module Deps/index.js:454:28)
在fromSource(/home/user/project/node_modules/module deps/index.js:391:44)
at/home/user/project/node_modules/module deps/index.js:385:17
在ConcatStream。(/home/user/project/node_modules/concat stream/index.js:36:43)
在emitNone(events.js:91:20)
在ConcatStream.emit(events.js:185:7)
在finishMaybe(/home/user/project/node_modules/concat stream/node_modules/readable stream/lib/_stream_writeable.js:475:14)
在endWritable(/home/user/project/node_modules/concat stream/node_modules/readable stream/lib/_stream_writable.js:485:3)
在ConcatStream.Writable.end(/home/user/project/node_modules/ConcatStream/node_modules/readable stream/lib/_stream_Writable.js:455:41)
位于DuplexWrapper.onend(/home/user/project/node_modules/readable stream/lib/_stream_readable.js:504:10)
位于DuplexWrapper.g(events.js:291:16)
在emitNone(events.js:91:20)
位于DuplexWrapper.emit(events.js:185:7)
在endReadableNT(/home/user/project/node\u modules/readable stream/lib/\u stream\u readable.js:926:12)
at _combinedTickCallback(内部/流程/下一步_tick.js:74:11)
在进程中。_tick回调(内部/process/next_tick.js:98:9)
问题在于扩展名:['es6']
中的值不正确,需要的是将JS文件的实际扩展名扩展名:['.JS']
工作守则:
var babelify = require('babelify');
var browserify = require('browserify-middleware');
var keystone = require('keystone');
var importRoutes = keystone.importer(__dirname);
// Setup Route Bindings
exports = module.exports = function(app) {
app.use('/js', browserify('./client/scripts', {
transform: [babelify.configure({
extensions: ['.js'],
plugins: ['object-assign']
})]
}));
};