我试图实现一个单页应用程序的角度。为了使我的工作流更好,我尝试实现了Gulp。
我在安装gulp插件时遇到了一些严重的npm错误,但这是另外一个故事,我意识到,无论有没有错误,它都是工作的。
我真正碰到的是useref插件。或者更确切地说,丑陋的插件。
gulp.task('useref', function() {
return gulp.src('app/*.html')
.pipe(useref())
.pipe(gulpIf('*.js', uglify()))
.pipe(gulpIf('*.css', cssnano()))
.pipe(gulp.dest('dist'))
});
[16:32:40] Using gulpfile C:\Work\evori-portfolio\gulpfile.js
[16:32:40] Starting 'useref'...
events.js:141
throw er; // Unhandled 'error' event
^
Error
at new JS_Parse_Error (eval at <anonymous> (C:\Work\evori-portfolio\node_modules\uglify-js\tools\node.js:22:1), <anonymous>:1526:18)
at js_error (eval at <anonymous> (C:\Work\evori-portfolio\node_modules\uglify-js\tools\node.js:22:1), <anonymous>:1534:11)
at croak (eval at <anonymous> (C:\Work\evori-portfolio\node_modules\uglify-js\tools\node.js:22:1), <anonymous>:2025:9)
at token_error (eval at <anonymous> (C:\Work\evori-portfolio\node_modules\uglify-js\tools\node.js:22:1), <anonymous>:2033:9)
at expect_token (eval at <anonymous> (C:\Work\evori-portfolio\node_modules\uglify-js\tools\node.js:22:1), <anonymous>:2046:9)
at expect (eval at <anonymous> (C:\Work\evori-portfolio\node_modules\uglify-js\tools\node.js:22:1), <anonymous>:2049:36)
at eval (eval at <anonymous> (C:\Work\evori-portfolio\node_modules\uglify-js\tools\node.js:22:1), <anonymous>:2602:13)
at eval (eval at <anonymous> (C:\Work\evori-portfolio\node_modules\uglify-js\tools\node.js:22:1), <anonymous>:2072:24)
at expr_atom (eval at <anonymous> (C:\Work\evori-portfolio\node_modules\uglify-js\tools\node.js:22:1), <anonymous>:2532:35)
at maybe_unary (eval at <anonymous> (C:\Work\evori-portfolio\node_modules\uglify-js\tools\node.js:22:1), <anonymous>:2708:19)
我想这可能是gulp做的异步工作造成的。可能是uglify插件试图丑化此时此刻未完成的useref文件。怎么知道?
所以我把所有的东西都分开了,以确保错误不是由重叠的插件造成的。
这是我如何通过再现错误:1。大口清洁:Dist
gulp.task('clean:dist', function() {
return del.sync('dist')
});
为堆栈跟踪疯狂
C:\work\evori-portfolio>Gulp minify[11:55:50]使用gulpfile C:\work\evori-portfolio\gulpfile.js[11:55:50]启动“minify”...
编辑确定...在我的index.html文件中有大量的.js文件。我试图获取该文件,但由于删除每个文件并尝试运行useref+minify而导致错误。而我得到了。坏文件。当它从index.html中移除时,minify就像一个符咒一样工作。但我不知道,我做错了什么,或者可能导致一个错误。
'use strict';
angular.module('previewApp')
.factory('dienstleisterRegObjService', function() {
/* Aktuell ausgewähltes Produkt */
var vorselektiertesProdukt = {
servicetyp: '',
dienstleistungstyp: '',
produkt: ''
};
/* Registrations Objekt; wird per API an Server übergeben */
var regObj = {
organisation: '',
vorname: '',
nachname: '',
mail: '',
nationalitaet: 'Schweiz',
sprache: 'Deutsch',
produkte: []
};
/* Reset Methods */
var getNewVorSelektProd = function() {
vorselektiertesProdukt.servicetyp = '';
vorselektiertesProdukt.dienstleistungstyp = '';
vorselektiertesProdukt.produkt = '';
};
var getNewRegObj = function() {
regObj.organisation = '';
regObj.vorname = '';
regObj.nachname = '';
regObj.mail = '';
regObj.nationalitaet = 'Schweiz';
regObj.sprache = 'Deutsch';
regObj.produkte = [];
};
/* Service Objekt */
return {
vorselektiertesProdukt,
regObj,
addProduct: function(servicetyp, dienstleistungstyp, produktparam) {
var produkt = {};
produkt.servicetyp = servicetyp;
produkt.dienstleistungstyp = dienstleistungstyp;
produkt.produkt = produktparam;
regObj.produkte.push(produkt);
},
deleteProduct: function(produkt) {
var index = regObj.produkte.indexOf(produkt);
regObj.produkte.splice(index, 1);
},
resetVorSelektProd: function() {
getNewVorSelektProd();
},
resetRegObj: function() {
getNewRegObj();
},
resetAllObj: function() {
getNewVorSelektProd();
getNewRegObj();
}
};
});
如果有人面临同样的问题,我建议修改gulp代码,以检查是什么文件导致了问题。
转到node_modules/gulp-uglify/minifier.js
查找函数:var mangled=trycatch(function(){}
返回writeconsole.log(file.path);
保存文件,然后重试,您将看到正在处理的文件
终端中出现的最后一个文件路径出现在出现错误的文件之前。
更新: 代码推送到 初始投递: 我的Package.json 我的webpack.config.js 我的巴贝尔rc ./src/index.js 5:16模块解析失败中的错误:意外标记(5:16)您可能需要一个适当的加载程序来处理此文件类型。从“./components/App”导入App;reactdom.render(,document.getElementById('root'));//R
更新: 代码推送到 初始职位: 我知道有数百个线程,有些在webpack配置中有错别字,有些以错误的方式使用加载器,有些解决了它,有些仍然打开。但是经过无数次尝试,我仍然无法让这个工作,一个简单的“你好世界”使用Webpack 4,反应js。 我做过的事 我是按照这个视频教程一行行:反应 我的package.json 我的webpack.config.js 我的. babelrc 我的目录结构 预
我试图运行ionic build Android--release命令来构建apk,但是我得到了这个错误 构建失败 总时间:2.623秒错误:cmd:命令失败,退出代码为1错误输出:失败:生成失败,出现异常。 错误:配置root项目'Android'时出现问题。您尚未接受以下SDK组件的许可协议:[Android SDK Platform25]。在构建项目之前,您需要接受许可协议,并使用Andro
当我建立我的Xamarin Android应用程序在发布模式,我得到这个错误: /库/框架/单声道。framework/External/xbuild/Xamarin/Android/Xamarin。Android常见的目标:错误:执行任务链接程序集时出错:错误XA2006:引用元数据项“系统”。沃德·沙马林。形式。条目::从“MyApp,Version=1.0”设置_FontSize(Syste
我的控制台中出现以下错误。 失败:生成已完成,但有2次失败。 > 错误:任务“:React-Native-Video:CompileDebugJavaWithJavac”执行失败。 编译失败;有关详细信息,请参阅编译器错误输出。 尝试: > 错误:任务“:React-native-firebase:CompileDebugJavaWithJavac”执行失败。 编译失败;有关详细信息,请参阅编译器
失败:生成失败,出现异常。 > 出了什么问题:任务执行失败:app: mergeDebugResources。 无法解析配置的所有文件:应用程序:\内部\ aapt2\二进制文件'。无法解析com。Android工具。内部版本:aapt2:3.6.0-6040484。必需:项目:应用程序没有com的缓存版本。Android工具。内部版本:aapt2:3.6.0-6040484可用于脱机模式。没有c