- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个正在运行的 requirejs 项目,它使用 grunt 进行构建和部署。如果根本不使用任何优化,构建就可以毫无问题地运行,并且我会得到一个大的 js 文件来将其部署到生产环境中。
我遇到的问题是,我有一些外部框架(如 angularJS),我已经有它的最小化/优化版本,并且不想再次优化它。
目前,未经优化,我通过 gruntfile 中的单独路径配置包含该框架的缩小版本。而在我的正常 main.js 中,我有用于开发的非缩小版本。
现在我想使用优化器来优化我自己的代码,但不优化外部框架。但外部框架应该包含在生成的大 JavaScript 文件中。基本上我想告诉优化器在某些情况下他应该使用原始文件。
我可以做这样的事情吗?
我只找到了一个全局排除选项,因此某些模块根本不包含在生成的优化js中。
这是我的 grunt 配置:
requirejs: {
compile: {
options: {
baseUrl: "<%= pkg.folders.jsSource %>",
name: "../external-libs/almond-0.1.1",
include: "main",
mainConfigFile: "<%= pkg.folders.jsSource %>/main.js",
out: "<%= pkg.folders.build + pkg.name + '-' + pkg.version %>/js/main.js",
//logLevel: 0,
optimize: "uglify2",
//optimize: "none",
paths: {
'angular':'../external-libs/min/angular-1.0.4',
'jquery':'../external-libs/min/jquery-1.7.2',
'jquery.mobile':'../external-libs/min/jquery.mobile-1.2.0',
'adapter': '../external-libs/min/jquery-mobile-angular-adapter-1.2.0',
'moment': '../external-libs/moment-1.6.2.min',
'iscroll': '../external-libs/min/iscroll-4.2.5',
'iscrollview': '../external-libs/min/jquery.mobile.iscrollview-1.2.6',
'add2Home': '../external-libs/min/add2home',
'config/config': "config/<%=configDatei%>"
}
}
}
},
这是 main.js 的相关部分:
require.config({
paths:{
'angular':'../external-libs/angular-1.0.4',
'jquery':'../external-libs/jquery-1.7.2',
'jquery.mobile':'../external-libs/jquery.mobile-1.2.0',
'adapter': '../external-libs/jquery-mobile-angular-adapter-1.2.0',
'moment': '../external-libs/moment-1.6.2.min',
'iscroll': '../external-libs/iscroll-4.2.5',
'iscrollview': '../external-libs/jquery.mobile.iscrollview-1.2.6',
'add2Home': '../external-libs/add2home'
},
shim:{
'angular':{ deps:['jquery'], exports:'angular' },
'iscroll':{ deps:['jquery'], exports:'iscroll' },
'iscrollview':{ deps:['jquery.mobile', 'iscroll'], exports:'iscrollview' }
}
});
感谢您的帮助。
最佳答案
只是一些建议使用empty:来指示不将该模块包含在优化中。
然后在 require.config 中将指示 min 文件的用法。
requirejs: {
compile: {
options: {
{{ all other settings }}
paths: {
'angular':'empty:',
}
}
}
},
require.config:{
paths:{
'angular':'../external-libs/min/angular-1.0.4',
},
}
请注意,这是“空:”,末尾有一个冒号,而不是“空”。如果省略冒号,您将收到如下错误:
"No such file or directory [...]/empty.js"
希望这有帮助。
关于requirejs - 如何从丑化/优化中排除某些 requireJS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16522216/
我需要使用括号表示法来定义 run() block 吗?如果我想缩小 JavaScript 文件,即使 run() block 不需要任何参数。 这是我的运行 block 代码 app.run(f
我了解 JS 压缩器、混淆器和压缩器。我想知道是否有任何现有工具(或任何快速编码解决方案)可以部分混淆 JavaScript。部分地我的意思是它应该变得难以阅读,但不会显得丑陋/缩小。它应该保持缩进,
现在我已经成功地将 angular 2 组件集成到我们的 angularJS 应用程序中,我想在发布时对它们进行丑化。但是,如果我使用 SystemJS 构建器,我会收到以下错误: Fatal err
这是我的 webpack 配置: var path = require('path'); var webpack = require('webpack'); var CompressionPlugin
我正在搜索 Flask-Assets过滤器允许我丑化 javascript 并支持 ES6 语法。我尝试使用 uglifyjs-es二进制而不是 uglifyjs但我不知道如何配置我的过滤器以使用 u
我正在努力 php app/console assetic:dump 测试我的生产环境。我的 css 文件正在生成,但不是我的 js 文件。我收到此错误消息: C:\wamp\www\projet>p
我的项目是在 Rails 2 中构建的,并已升级到 Rails 3.1,因此我在 Assets 管道配置(例如预编译)方面遇到了问题。 我正在使用 app/assets/aplication.js,例
在我必须缩小输出包之前,我有一个 webpack 配置可以与 typescript 完美配合。我有一个正在逐步更新为 typescript 的项目——目前有一个文件已迁移到 typescript ,当
Webpack 在使用继承缩小/丑化 ES6 代码时删除了类名: 有 MVCE我们尝试缩小/丑化的代码: 子类: const ParentClass = require('parent'); clas
我尝试使用 UglifyJS2 来丑化一个简单的 javascript 文件. 文件内容如下: //this is simply a sample var var sampleVar = "xyz";
由于 Bootstrap 4 Alpha 的最新更改,我无法使用当前的 Gulp 任务缩小核心 .js 文件。我收到错误:“GulpUglifyError:无法缩小 JavaScript”。 正在关注
在服务器端,我使用 Connect 和 Socket.IO。我想为我的客户端代码(也是 CofeeScript)提供编译(到 JavaScript)、丑化和 gzip 压缩。我寻找 Conenct 中
Laravel 5.4 - 混合如何破坏/丑化/混淆脚本 我在以前的版本上使用 gulp。 谢谢 最佳答案 来自Laravel Mix文档: mix.options({ extractVueSty
我有以下文件:package.json { "name": "uglify", "devDependencies": { "grunt": "^1.0.1", "grunt-c
我如何像在 Instagram 或 Facebook 上那样丑化我的 css 文件? 例如 _8f735、_oofbn、_6ltyr这是一些 react 插件还是什么?我只在 Instagram 和
所以我开始使用 Gulp 来自动化我的工作流程,我正在尝试它,但是当执行连接和丑化多个文件的任务时,我遇到了 IIFE 中的一些代码丢失的情况。要连接,请使用gulp-usref。 // a-fi
我目前正在使用以下 webpack.config.js: var webpack = require('webpack'); module.exports = { entry: __dirname
我正在使用 Play framework 2.3.6 和 Webjars 作为 Web 库依赖项。也就是说,我的 build.sbt 包含类似“org.webjars”%“angularjs”%“1.
由于我已经将我的 Angular 应用程序升级为使用 Angular CLI 版本 6.x,因此编译它以用于生产(像往常一样使用 ng build --prod)不产生缩小的js。这导致非常大的 ve
我是一名优秀的程序员,十分优秀!