我正在将select2连接到我的其他javascript文件,如下所示:
cat scripts/jquery-timeago.js scripts/jquery-autosize.js scripts/select2.js > public/vendors.js
uglifyjs -nc -o public/vendors.min.js public/vendors.js
Run Code Online (Sandbox Code Playgroud)
但是,我发现了一个问题select2,即只有在连接之后才会有一个空的空格字符,这会在UglifyJS中导致解析错误.如果我select2在连接文件中开始的地方开始并按退格键,则删除一个空字符并且缩小工作正常.
到底是怎么回事?我怎样才能解决这个问题?
无论如何在没有node.js的情况下运行UglifyJS2?假设我想使用JavaScript脚本引擎在JVM进程中运行它.怎么做?
我有一个骨干项目,有几个js文件和几个css文件
我想将它们缩小为单个js和单个css
到目前为止,我设法将所有js文件连接并缩小为单个main.min.js
现在我正在尝试使用css文件
这是我的布局:
css
bootstrap.css
docs.css
...
js
optimize-node (script to run the optimizer)
app
main.js (entry point of my app)
require-main.js
index.html
Run Code Online (Sandbox Code Playgroud)
这是我的缩小它的脚本
# optimize-node
node ../../r.js -o baseUrl=. mainConfigFile=app/require-main.js
Run Code Online (Sandbox Code Playgroud)
这是我的require-main.js
/*globals require*/
'use strict';
// Set the require.js configuration file for your application
require.config({
// uncomment to create a single file with no optimization at all
// optimize: 'none',
baseUrl: 'js',
// Initialize the application with the main application file
deps : ['app/main'],
preserveLicenseComments: false,
out …Run Code Online (Sandbox Code Playgroud) 我们想使用UglifyJS只删除注释但保留其他所有内容,这可能吗?
AFAIK beautify是添加换行符的唯一选项,但它与我们的开发源不匹配,并且可能难以针对QA目的进行调试.
谢谢.
有没有人找到Gulp,Uglify和Concat的工作组合来生成有效的源地图?在GitHub中似乎存在很多关于这些类型的交互的问题,但同样地,人们似乎找到了成功运作的组合.我尝试了很多变化,但是当我打开uglify时,符号映射不起作用,断点在浏览器中无法正常工作.例如,以下工作正常:
return gulp.src('/scripts/*.js')
.pipe(sourcemaps.init())
//.pipe(uglify())
.pipe(concat(outputName + '.min.js'))
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest(outputPath))
.on('end', function() { gutil.log('Minified ' + outputName); })
.on('error', handleError);
Run Code Online (Sandbox Code Playgroud)
但是取消注释uglify并没有.
我创建了一个GitHub repo来重现这个问题:https://github.com/jamescrowley/gulpIssues
我一直在我的应用程序和库中使用lodash,我一直用webpack(和UglifyJS)打包我的应用程序和库.
这样做的问题是,当缩小时,如果您完全导入了lodash,则UglifyJS不知道从lodash中删除未使用的函数.聪明的人已经提出从lodash导入你将要使用的函数,如下所示:
var forEach = require('lodash/array/forEach');
Run Code Online (Sandbox Code Playgroud)
这很有效,并且导致我的代码的编译版本小得多.但是,在使用lodash的许多部分的文件中,它可能非常繁琐.
使用ES6式进口和Babel的DCE变压器可以达到同样的效果吗?例如:
import { forEach } from 'lodash';
Run Code Online (Sandbox Code Playgroud)
我很怀疑,因为它是从lodash库的根目录导入的,而不是像前一个例子那样从单个函数的文件导入.
有没有办法在--production模式下运行时跳过webpack 2中的uglify js插件?
此JavaScript错误
超级表达式必须为null或函数,且未定义
仅在webpack mode设置为时抛出production,而我将其缩小到UglifyJsPlugin> uglifyOptions> compress。
有人遇到过这个问题吗?或对哪里看有建议?
uglifyjs ×10
javascript ×4
minify ×2
requirejs ×2
webpack ×2
babeljs ×1
css ×1
ecmascript-6 ×1
gulp ×1
gulp-uglify ×1
jvm ×1
lodash ×1
react-native ×1
reactjs ×1
sbt ×1
sbt-web ×1
scriptengine ×1
source-maps ×1
uglifyjs2 ×1
webpack-2 ×1