通过节点脚本或命令行浏览器ify uglify?
在许多地方,专业人士似乎正在使用涉及墨西哥杂货或咕unt的node.js脚本来构建自己的项目.不过,我无法弄清楚的是,为什么脚本方法可以选择?从命令行版本切换到脚本版本时,您可以在以下位置添加其他软件包,即Gulp-uglify,Vinyl-Source-Stream和Vinyl-Buffer.长期使用最少依赖性的方法会不会更安全?以我目前正在使用的以下命令行方法: browserify entry.js | uglifyjs > bundle.js 这依赖于浏览和uglifyjs,我没有Gulp,Gulp-uglifyjs等的其他依赖关系...而且我不必担心Gulp-uglifyjs相对于直uglifyjs的版本在NPM.现在查看以下版本: var browserify = require('browserify'); var gulp = require('gulp'); var uglify = require('gulp-uglify'); var source
12 2024-04-04
编程技术问答社区
如何在Gulp中用Browserify对输出进行美化?
我试图在Gulp中丑化浏览器的输出,但行不通. gulpfile.js var browserify = require('browserify'); var gulp = require('gulp'); var uglify = require('gulp-uglify'); var source = require('vinyl-source-stream'); gulp.task('browserify', function() { return browserify('./source/scripts/app.js') .bundle() .pipe(source('bundle.js')) .pipe(uglify()) // ??? .pipe(gulp.dest('./build/scripts')); }); 据我了解,我无法按照以下步骤进行操作.我需要在一根管道中制作以保留序列吗
14 2024-04-04
编程技术问答社区
如何使用Webpack为Babel包含节点模块
运行 npm run build 我遇到了uglify的ES6相关语法错误,所以我猜Babel无法正确处理节点模块(sec-to-min). 我的.babelrc { "presets": ["es2015", "stage-0"], "plugins": ["transform-runtime"], "comments": false, "env": { "test": { "plugins": [ "istanbul" ] } } } 我的webpack配置: var path = require('path') var config = require('../config') var utils = require('./utils') var projectRoot = path.resolve(__dirname, '../') var env = process.env.NODE_ENV //
14 2024-03-26
编程技术问答社区
用Webpack和Uglify删除console.logs
我试图使用WebPack的uglify插件删除console.logs,但似乎与WebPack捆绑在一起的uglify插件没有该选项,在文档中没有提及. 我从这样的webpack初始化uglify: new webpack.optimize.UglifyJsPlugin() 我的理解是我可以使用独立的uglify lib获取所有选项,但我不知道哪一个? 问题是drop_console不起作用. 解决方案 使用UglifyJsPlugin我们可以处理评论,警告,控制台日志,但是在开发模式下删除所有这些并不是一个好主意.首先检查您是否正在运行webpack prod env or dev env,如果是prod env,则可以删除所有这些,例如: var debug = process.env.NODE_ENV !== "production"; plugins: !debug ? [ new webpack.optimize.UglifyJsPl
20 2024-03-26
编程技术问答社区
Rails uglifier是否应该对函数名称进行丑化(扭曲)?
我的.js文件被压缩和变量被操纵,但函数名称并未被弄脏(运行最新的轨道3.2.8和最新的uglify 1.3.0 Gem). 根据 https://github.com/lautis/lautis/uglifier#usage "选项默认为true.以下是我的配置. 来自Production.RB: config.assets.compress = true config.assets.js_compressor = :uglifier 我也尝试了 config.assets.compress = true config.assets.js_compressor = Uglifier.new(:mangle => true, :toplevel => true, :copyright => true) 但没有明显的区别. 正如一位评论者所建议的那样,我确实尝试更改一个.js文件的内容,但没有区别. 从Heroku上的压缩的.js文件的输出中
Rails 3.1资产管道和Uglifier中可能存在的错误
我遇到了在Heroku上部署的问题,以解决耙子任务中的失败 rake assets:precompile 在底部是我集成的错误 Rails 3.1 jQuery日历:一个> Twitter Bootstrap 错误发生在uglifier中. 我怀疑问题可能与包含许多日历的本地化有关. 我通过设置来解决错误: # Compress JavaScripts and CSS config.assets.compress = false 我无法检查文件,因为临时文件被清理了.我也无法在红宝石中让调试器停在断点. 有什么想法,如果这是一个错误?有什么方法可以获取临时文件以不删除?使Rubymine调试器在耙子任务上起作用的任何方法(是的,使用EAP 112-291. Rake Assets:预编译:All Rails_env =生产Rails_groups =资产 耙子流产了!意外角色'(线:21454,col:0,pos: 641761
26 2024-03-17
编程技术问答社区
Rails资产管道和javascript文件-保持换行以帮助调试
我最近从 jammit 到但是,我最近开始在生产中遇到一些脚本错误,并意识到我要调试它们几乎是不可能的.我以前曾配置了棘手的骗局以保留线路破裂,但否则请删除JavaScript文件中的所有空白.这是为了确保我看到运行时错误,我将能够找到有问题的线,并希望弄清楚问题是什么.使用Rails Asset Pipeline和默认值:UGLifier Compressor,看来所有空格都被删除了,包括线路断路,因此,我的脚本错误并未告诉我代码中的位置. . 有人知道是否知道配置Rails Asset管道以保留线路断路以使代码可以调试? 马特 解决方案 在您中设置production.rb: config.assets.compress = false 和运行rake assets:precompile不会丑化您的资产. upd: 所谓的压缩意思是(除其他内容外):删除线路断开和评论. 但是,如果您想混淆变量并节省一些可读性,请使用: # in pr
18 2024-03-17
编程技术问答社区
angular js $injector:modulerr 未能用mangle实例化模块。
试图用mangle丑化AngularJS应用会导致错误.但是,我已经读到Ngmin应该修复的.我使用ngmin按Angular的要求将控制器代码正确包裹在数组中.我可以确认NGMIN有效,并且我的所有代码都包装了.只有乱七八糟才会导致错误,mangle:false工作正好.任何人都可以确认乱七八糟是否应该工作,或者是否还有其他案例,除了阵列问题会导致杂交失败. 谢谢. 解决方案 我无法与NG-Min一起使用.但是,我确实使它与NG-Annotate一起使用. 这是Ng-min的绝妙替代品.
30 2024-02-24
编程技术问答社区
Gulp ngmin + uglify不能正常工作
我有以下Gulp任务: gulp.task('scripts', function() { return gulp.src(['app/js/app.js', 'app/config/config.js', 'app/js/controllers.js', 'app/js/directives.js' , 'app/js/filters.js', 'app/js/footer.js', 'app/js/guideTour.js', 'app/js/mobileBanner.js', 'app/js/services.js', 'app/js/youtube.js', 'app/js/dataSync.js', 'app/js/addthis.js']) //.pipe(jshint('.jshintrc')) .pipe(jshint.reporter('default')) .pipe(concat('main.js')) .pipe(ngmi
16 2024-02-23
编程技术问答社区
在Yeoman应用中使用Grunt Build进行minification后,Angular出现 "未知提供者 "错误
我在yeoman生成的Angular应用程序上使用咖啡和苗条的Angular App上遇到问题,所有图书馆都最新. (该应用是几天前与最新发电机生成的.) grunt build和grunt server最初都可以正常工作.但是,经过几天的开发使用grunt server,我发现grunt build已经完全停止了工作. 我解决了一些不同的问题.最大的一个是,我不得不完全放弃索引文件并使用直html,因为grunt build发表于/dist时,grunt build莫名其妙地删除了80%的索引文件. . 不幸的是,在我几乎解决了所有问题之后,我开始在一个角指令中遇到此错误: 未知的错误:未知提供商:Aprovider 这个问题似乎是在uglify.我认为这可能是同样的问题.但是我不确定.我尝试了许多解决方案,但是对我有用的唯一方法是手动从我的coffeescript生成干净的JS文件,将文件复制到/dist中,然后将路径写入dist/index.html.
16 2024-02-23
编程技术问答社区
使用grunt uglify对Angularjs进行最小化处理,结果出现js错误
在Angularjs中,我们将参数作为依赖注入.例如, function checkInCtrl ($scope, $rootScope, $location, $http){ ….. …. } 因此,当它被缩小时,它会变成 function checkInCtrl(a,b,c,d){ } 现在A,B,C,D不会被解释为$范围,$ rototscope,$ location,$ http by Angular和整个代码无法正常工作.对于此angularjs提供了一个解决方案,它是 checkInCtrl.$inject = ['$scope', '$rootScope', $location', '$http']; 我们可以使用上述语法注入不同的依赖项.这效果很好,直到我没有使用一些自定义的角度服务作为依赖性.例如, 如果我有 之类的东西 function checkInCtrl ($scope, $rootScope, $location, $h
16 2024-02-23
编程技术问答社区
Angular.module minification bug
有最勇敢的时间试图弄清楚为什么缩小不起作用. 我已经通过一个数组对象注入我的提供商,在整个网络上的许多建议之前,函数都在"未知提供商:aprovider 常规: var app = angular.module('bpwApp', ['ui.bootstrap', 'ui', 'myTabs']) .config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider){ $routeProvider. when('/', {templateUrl: 'partials/home.jade', controller: HomeCtrl}); $locationProvider.html5Mode(true); }]) 缩小: var app = angular.module('bpwApp', ['ui.b
20 2024-02-23
编程技术问答社区
Typescript: 编译时在自己的属性中获取类的名称
例如,如果我们有这样的课程: class MyClass { className: string; } 是否可以在编译时将" myclass"分配给ClassName属性? 编辑:已经尝试了this.constructor.name.但是,后者无助于缩小代码.因此,当将打字稿代码汇编为JS时,检查是否有一种捕获类名称的方法.我正在使用Angular-cli. 解决方案 /其他答案 由于您即使在uglify进行了原始类的实际名称,因此您需要研究构建过程. 您说您使用的是Angular-CLI,它在引擎盖下使用uglifyj进行uglify. uglifyjs支持保留原始班级名称的标志,甚至支持应该忽略的班级名称的白名单.具体而言,这是您感兴趣的 Mangler 部分.它将使用Function.name. 打破代码 您可以完全禁用杂交,也可以专门禁用杂交类名称(或白色列表某些类名称).我认为使用Angular-CLI(在WebPack中)不可能,但
14 2024-02-22
编程技术问答社区
在webpack和UglifyJs中出现了意外的token: name (DocumentAttributes)
我正在使用DOCX 5.0.2版本来生成Word文档,其中包含来自Angular类型脚本代码的图像. 使用webpack.optimize.uglifyjsplugin.构建代码时会遇到此错误. 意外的令牌:名称(DocumentAttributes)带WebPack和uglifyjs. 我认为uglify无法最大程度地减少与DOCX库相关的代码.使用DOCX软件包的人的任何建议. 在添加到软件包的DOCX软件包之前,用于工作正常.JSON 解决方案 这里的问题是无法处理ES6的uglify.我通过使用uglifyjs-webpack-plugin解决了这个问题. 运行 npm install uglifyjs-webpack-plugin@1 --dev --save我正在使用版本1,因为我使用的是旧版本的webpack. 然后const UglifyJsPlugin = require('uglifyjs-webpack-plugin'); tes
30 2024-02-21
编程技术问答社区
Lodash不是用Webpack与Webpack 4的TreeShaking?
我想从webpack 中生成的捆绑包中的未使用的multiply tree shake lodash 我有2个主文件app.js&math.js 它包含以下代码 - app.js import map from "lodash/map"; import { sum } from "./math"; console.log("💩"); console.log(`2 + 3 = ${sum(2, 3)}`); map([1, 2, 3], x => { console.log(x); }); Math.js export const sum = (a, b) => a + b; export const multiply = (m, n) => m * n; webpack.config.js const path = require("path"); const webpack = require("webpack"); cons
30 2023-12-01
编程技术问答社区
网页包以错误的顺序捆绑我的文件(CommonChunkPlugin)
我想要的是通过webpack CommonsChunkPlugin以特定顺序捆绑我的javascript文件. 我正在为webpack使用CommonsChunkPlugin. 官方文档很简单,容易.它按预期工作,但我相信插件正在按字母顺序捆绑我的文件(可能是错误的).该插件没有选择要捆绑的顺序. 注意:对于那些不熟悉Bootstrap 4的人,目前 需要一个称为绳索的JavaScript库依赖关系. 束缚之前必须加载束缚. webpack.config.js module.exports = { entry: { app: './app.jsx', vendor: ['jquery', 'tether', 'bootstrap', 'wowjs'], }, output: { path: __dirname + '/dist', filename: 'bundle.js', }, plugins: [
20 2023-12-01
编程技术问答社区
网页包未缩小我的捆绑js
我现在将我的第一个项目与webpack捆绑在一起,除了webpack之外,一切都按预期工作,除了我的bundle.min.js代码. 我很确定我在做错了什么,但是找不到错误. 任何帮助将不胜感激.预先感谢. 在这里我去我的webpack.config.js var webpack = require("webpack"); var ExtractTextPlugin = require("extract-text-webpack-plugin"); var OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin'); module.exports = { context: __dirname + "/public", entry: './app.js', output: { path: __dirname + '/dist', filename
20 2023-12-01
编程技术问答社区