而不是单独向uglify脚本添加代码和文件,有没有办法告诉uglify抓取整个目录,并输出到1个script.js文件?
我在Windows 7机器上,最近我从NodeJS.org安装了最新版本的Node
然后我跑了......
C:\Users\jcreamer>npm install -g uglify-js
npm http GET https://registry.npmjs.org/uglify-js
npm http 304 https://registry.npmjs.org/uglify-js
C:\Users\jcreamer\AppData\Roaming\npm\uglifyjs -> C:\Users\jcreamer\AppData\Roaming\npm\node_modules\uglify-js\bin\uglifyjs
uglify-js@1.2.3 C:\Users\jcreamer\AppData\Roaming\npm\node_modules\uglify-js
Run Code Online (Sandbox Code Playgroud)
并重新启动命令提示符,但我仍然无法运行...
cd c:\inetpub\wwwroot\app\
node uglifyjs -o app.min.js app.js
Run Code Online (Sandbox Code Playgroud)
我收到这个错误......
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Cannot find module 'C:\Inetpub\wwwroot\analytics\uglifyjs'
at Function._resolveFilename (module.js:334:11)
at Function._load (module.js:279:25)
at Array.0 (module.js:470:10)
at EventEmitter._tickCallback (node.js:192:40)
Run Code Online (Sandbox Code Playgroud)
我还需要做些什么吗?
更新
即使我作为管理员运行npm,如果我运行
C:\Users\jcreamer>uglifyjs
Run Code Online (Sandbox Code Playgroud)
我明白了......
C:\Users\jcreamer>"C:\Users\jcreamer\AppData\Roaming\npm\\.\node_modules\uglify-js\bin\uglifyjs"
'"C:\Users\jcreamer\AppData\Roaming\npm\\.\node_modules\uglify-js\bin\uglifyjs"' is not recognized as an internal or external comm
and,
operable program or batch …Run Code Online (Sandbox Code Playgroud) 我在ts目录下有4个TypeScript文件.我可以使用typescript:base任务将它们全部编译成一个带有源映射(main.js.map)的文件(main.js).
但是,uglify在编译多个 TypeScript文件时尝试这些文件不起作用.uglify当sourceMapIn用多个文件制作时,好像很困惑.
如何将具有多个文件的TypeScript项目编译为一个带有源映射的文件(返回原始ts文件)
这是grunt文件:
module.exports = function (grunt) {
grunt.initConfig({
uglify: {
dist: {
options: {
sourceMap: '../js/main.min.map',
sourceMapIn: 'main.js.map',
sourceMapRoot: '../ts/'
},
files: {
'../js/main.min.js': ['main.js']
}
}
},
typescript: {
base: {
src: ['**/*.ts'],
dest: '../js/main.js',
options: {
module: 'amd',
sourcemap: true,
declaration: false
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-typescript');
grunt.file.setBase('../ts');
grunt.registerTask('default', ['typescript:base', 'uglify:dist']);
};
Run Code Online (Sandbox Code Playgroud)
谢谢!
我正在寻找方式(最好和在线网站)反向Uglify的一些JavaScript.网站:http://jsbeautifier.org/非常适合小型化代码,但它对于丑陋的东西并不是很好.
我们在index.html中定义了2个块 - 一个用于第三方库,一个用于我们的应用程序文件.由于第三方库已经缩小,我们只想连接它们,但不是uglify.我怎么能这样做useminPrepare?
<!-- build:js js/lib.js -->
<script src="lib/angular/angular.min.js"></script>
<script src="lib/angular-cookies/angular-cookies.min.js"></script>
<script src="lib/angular-route/angular-route.min.js"></script>
<!-- endbuild -->
<!-- build:js js/app.js -->
<script src="js/app.js"></script>
<script src="js/controllers/LanguageCtrl.js"></script>
<!-- endbuild -->
Run Code Online (Sandbox Code Playgroud)
gruntfile.js:
useminPrepare: {
html: '<%= yeoman.app %>/index.html',
options: {
dest: '<%= yeoman.dist %>',
flow: {
html: {
steps: {
// TODO for libs.js block I don't want uglify!
js: ['concat', 'uglifyjs'],
css: ['cssmin']
},
post: {}
}
}
}
}
Run Code Online (Sandbox Code Playgroud) minifyify(Browserify插件)使用uglify -js但似乎无法处理条件编译:
我正在使用Browserify与babelify变换器和minifyify插件.这是cmd,在可读部分细分:
browserify
src/scripts/app/index.js
-o
build/prod/public/assets/js/appBundle.min.js
-t
[ babelify --presets [ es2015 ] ]
-p
[ minifyify --no-map --uglify [ --compress [ --drop_console --dead_code --conditionals --unused --if_return ] --mangle --screw-ie8 --define [ DEBUG=false ] ] ]
我已经获得了所有设置/选项.但是,我无法使条件编译工作.Minifyify使用uglifyjs的minify方法.我通过minifyify的事实不应该真正改变任何事情.
uglifyjs input.js --compress --dead_code --define DEBUG=false -o output.js
但是我失去了minifyify提供的额外压缩/优化.
我也对另一个构建过程持开放态度.我的需求在当前流程的设置中恢复:
javascript conditional-compilation uglifyjs browserify bundling-and-minification
我试图从编译.ts到.min.js如下:
TS --> ES6 ---> ES5 ---> .min.js + .map
Run Code Online (Sandbox Code Playgroud)
在我刚刚做以下事情之前,一切正常:
TS ---> ES5 ---> .min.js + .map
Run Code Online (Sandbox Code Playgroud)
我希望能够使用源地图.我的tsconfig.json如下:
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"moduleResolution": "node",
"isolatedModules": false,
"jsx": "react",
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false,
"preserveConstEnums": true,
"suppressImplicitAnyIndexErrors": true
}
}
Run Code Online (Sandbox Code Playgroud)
自从我添加后"target": "es6"我收到错误:
SyntaxError: 'import' and 'export' may appear only with 'sourceType: module'
Run Code Online (Sandbox Code Playgroud)
tsify文档说:
在通过Browserify捆绑器运行之前未将TypeScript文件编译为JavaScript时,会发生此错误.您可能会遇到几个已知的原因.
但在我的Gulp任务中,在babelify之前运行tsify:
gulp.task("bundle", function() {
var mainTsFilePath = "src/main.ts";
var outputFolder …Run Code Online (Sandbox Code Playgroud) 使用Webpack,我收到了来自UglifyJSPlugin的所有第三方代码的警告.
是否可以仅关闭某些图书馆的警告?
我尝试使用Y.js(Yjs)npm包,它可以工作,npm start但不是npm run build因为Uglify不支持ES6.所以我下载了该软件包的版本并直接包含它.但我的反应npm run build仍在抱怨Uglify.
Creating an optimized production build...
Failed to compile.
static/js/main.3d2ecf94.js from UglifyJs
SyntaxError: Unexpected token: name (YArray) [./src/Pages/Collaborative/y-array/y-array.es6:12,0]Run Code Online (Sandbox Code Playgroud)
我webpack.config.js看起来像这样:
var path = require('path');
module.exports = {
entry: path.join(__dirname, 'public', 'quickstart.js'),
output: {
path: '/',
filename: 'bundle.js'
},
module: {
loaders: [
{
test: /.jsx?$/,
loader: 'babel-loader',
exclude: /node_modules/,
query: {
presets: ["react", "es2016", "stage-2"]
}
},
{ test: /\.css$/, loader: "style-loader!css-loader" }
]
}
}Run Code Online (Sandbox Code Playgroud)
如何在我的webpack中禁用Uglify?哪条线确定在建造过程中必须进行Uglify?
编辑: …
我正在经历TypeError并且不确定如何解决它。我期待您能提供的任何帮助。以下是终端输出yarn run build:
BUILD_DIR /Users/blakelucey/Desktop/fsd-next/build
SRC_DIR /Users/blakelucey/Desktop/fsd-next/src
[webpack-cli] TypeError: webpack.optimize.UglifyJsPlugin is not a constructor
at module.exports (/Users/blakelucey/Desktop/fsd-next/webpack.config.js:118:7)
at WebpackCLI.loadConfig (/Users/blakelucey/Desktop/fsd-next/node_modules/webpack-cli/lib/webpack-cli.js:1589:33)
at async WebpackCLI.resolveConfig (/Users/blakelucey/Desktop/fsd-next/node_modules/webpack-cli/lib/webpack-cli.js:1677:38)
at async WebpackCLI.createCompiler (/Users/blakelucey/Desktop/fsd-next/node_modules/webpack-cli/lib/webpack-cli.js:2085:22)
at async WebpackCLI.runWebpack (/Users/blakelucey/Desktop/fsd-next/node_modules/webpack-cli/lib/webpack-cli.js:2213:20)
at async Command.<anonymous> (/Users/blakelucey/Desktop/fsd-next/node_modules/webpack-cli/lib/webpack-cli.js:850:25)
at async Promise.all (index 1)
at async Command.<anonymous> (/Users/blakelucey/Desktop/fsd-next/node_modules/webpack-cli/lib/webpack-cli.js:1516:13)
error Command failed with exit code 2.
Run Code Online (Sandbox Code Playgroud)
这是webpack.config.js:
const webpack = require('webpack');
const path = require('path');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const CopyWebpackPlugin = require('copy-webpack-plugin');
// …Run Code Online (Sandbox Code Playgroud) uglifyjs ×10
javascript ×5
node.js ×3
webpack ×3
gruntjs ×2
typescript ×2
angularjs ×1
babeljs ×1
browserify ×1
grunt-usemin ×1
gulp ×1
npm ×1
reactjs ×1
source-maps ×1
typeerror ×1
webpack-cli ×1