我正在尝试使用webpacked应用程序中require
的bootstrap-webpack模块.
它似乎需要jQuery,因为捆绑的javascript然后抛出以下内容:
未捕获的ReferenceError:未定义jQuery
我如何指定webpack jQuery是bootstrap-webpack模块的依赖项,以解决这个问题?感觉它应该是微不足道的,但我一直在努力弄明白.
我试过添加:
"jquery": "latest"
Run Code Online (Sandbox Code Playgroud)
在bootstrap-webpack中的dependecies package.json
,但这不起作用.该文档是不完整的,我似乎无法找到很多关于这个问题.这应该是微不足道的吧?救命!
我使用的是配备 Intel Corporation HD Graphics 5500 (rev 09) 和 AMD Radeon r5 m255 显卡的笔记本电脑。
有谁知道如何为深度学习设置它,特别是 fastai/Pytorch?
C语言用于编写UNIX以实现可移植性 - 使用不同编译器编译的相同C语言程序生成不同的机器指令.为什么Windows操作系统能够在Intel和AMD处理器上运行?
我正在尝试使我的前端设计过程更加模块化,并且正在探索webpack.它支持样式加载器,它允许您导入css文件并将其注入文档中,如下所示:
require("style/url!file!./file.css");
// => add a <link rel="stylesheet"> to file.css to document
Run Code Online (Sandbox Code Playgroud)
但是,我的主要关注点是网站,而不是webapps 1,所以通过javascript添加css感觉很奇怪.但我可能只是老式的,所以我想知道:加载器是用于所有css,还是仅仅意味着加载css的小的,有条件的部分?
如果它可以用于加载所有的CSS,使用生成的webpack bundle.js
来注入css而不是直接链接html中的css文件会有任何惩罚吗?除了javascript没有启用它明显破坏?
1:不同之处在于我的动态内容非常少,javascript在这些网站中只扮演次要角色,而且我没有使用javascript进行路由,但是页面上有静态的.html文件
如果我们有webpack创建的不同bundle ,我们可以在以后的某个时间require.ensure
动态传输和评估它,它通过jsonPadding和一些webpack js魔法发生.如果我们有
require.ensure([ ], ( require ) => {
console.log('before...');
var data = require( './myModule.js' );
console.log('after...');
}, 'myModule')
Run Code Online (Sandbox Code Playgroud)
"after..."
完全转移和评估该模块时会遇到.如果碰巧是这个块/模块非常大,包含图像,css等等,那么加载将几乎锁定浏览器,而webpack javascript代码解包了包含其所有组件的包.
问题:有没有办法"挂钩"那个require
魔法?例如,对于以下内容进行回调将是一个梦想的场景:
等等,假设我们传输的包含有大量数据.一般来说,让我很难有一个很好的选择来动态地异步传输整个bundle,但仍然必须以完全同步/阻塞的方式加载那个bundle.
我正在尝试将JavaScript密集的页面转换为使用TypeScript,并使用RequireJS来管理模块依赖项.
我遇到的问题是,除了TypeScript文件之间的相互依赖关系外,该页面还依赖于与系统其他部分共享的一些常见JavaScript文件,尚未转换为AMD.
将非AMD脚本放在<SCRIPT>
标签上方的普通标签中是非常危险的,只是假设它们被加载了吗?
如果这是一个坏主意,那么处理这个问题的更好方法是什么?我是否需要拥有每个脚本的AMD和非AMD版本?或者我是否需要转换所有脚本以便他们可以选择调用define()
?
我一直在开发Backbone应用程序,我刚开始学习使用Backbone和Require.js.
在我重构的骨干应用程序中,我定义了一个这样的命名空间:App.model.repo
.该模型在不同视图中反复使用.例如,我用一些集合做同样的事情App.collection.files
.使用初始索引文件请求引导这些模型和集合.
我确实找到了这个示例,这看起来像是获取引导数据的好方法.但是,我正在努力寻找重用/共享这些模型和视图之间的集合的最佳方法.
我可以想到三种可能的解决方案.哪个最好,为什么?或者是否有我完全遗漏的另一种解决方案?
解决方案1
在索引中定义这些常用模块和集合(当它们被引导时),然后将它们作为选项(of initialize
)传递给每个Backbone视图.
define(['jquery', 'underscore', 'backbone', 'handlebars', 'text!templates/NavBar.html'],
function($, _, Backbone, Handlebars, template){
return Backbone.View.extend({
template: Handlebars.compile(template),
initialize: function(options){
this.repoModel = options.repoModel; // common model passed in
}
});
}
);
Run Code Online (Sandbox Code Playgroud)
就分离来说,这些看起来很干净,但是可以快速得到时髦,大量的东西都会传遍整个地方.
解决方案2
定义globals
模块,并向其中添加常用的模型和集合.
// models/Repo.js
define(['backbone'],
function(Backbone){
return Backbone.Model.extend({
idAttribute: 'repo_id'
});
}
);
// globals.js (within index.php, for bootstrapping data)
define(['underscore', 'models/Repo'],
function(_, RepoModel){
var globals = {};
globals.repoModel = new Repo(<?php echo json_encode($repo); ?>); …
Run Code Online (Sandbox Code Playgroud) 任何打字稿专家都可以澄清在使用Typescript时何时以及为什么选择AMD vs Common JS进行模块创建?
我有一个依赖的模块Backbone
.我有一个backbone.d.ts
定义,但TypeScript似乎不想编译我的模块,除非我的
import Backbone = module("backbone")
Run Code Online (Sandbox Code Playgroud)
实际上指向有效的主干模块而不是定义文件.我正在使用AMD加载的模块,并为骨干网定义了一个requirejs垫片.
除了创建一个虚假的backbone.ts模块定义之外,还有解决方法吗?
更新:解决方案的副作用是此类代码不再有效,因为模块不再存在.它需要存在因为requirejs垫片.我所知道的唯一解决方法是拥有两个.d.ts文件.一个用于使用骨干作为导入但不包含该declare module
位的文件.另一个使用/// <reference
它确实包括declare module
线.
/// <reference path="../dep/backbone/backbone.d.ts" />
interface IApi {
version: number;
Events: Backbone.Events;
}
Run Code Online (Sandbox Code Playgroud) 我正在研究一个用CommonJS语法编写的角度应用程序,并使用grunt-contrib-requirejs任务的grunt任务将源文件转换为AMD格式并将其编译成一个输出文件.我的目标是使Karma与RequireJS一起工作,并将我的源文件和spec文件保存在CommonJS语法中.
我已经能够通过以下文件结构以AMD格式传递一个简单的测试:
-- karma-test
|-- spec
| `-- exampleSpec.js
|-- src
| `-- example.js
|-- karma.conf.js
`-- test-main.js
Run Code Online (Sandbox Code Playgroud)
和以下文件:
karma.conf.js
// base path, that will be used to resolve files and exclude
basePath = '';
// list of files / patterns to load in the browser
files = [
JASMINE,
JASMINE_ADAPTER,
REQUIRE,
REQUIRE_ADAPTER,
'test-main.js',
{pattern: 'src/*.js', included: false},
{pattern: 'spec/*.js', included: false}
];
// list of files to exclude
exclude = [];
// test results reporter to use
// possible …
Run Code Online (Sandbox Code Playgroud) amd ×10
javascript ×5
requirejs ×5
commonjs ×3
typescript ×3
webpack ×3
backbone.js ×1
c ×1
css ×1
fast-ai ×1
gpu ×1
html ×1
intel ×1
karma-runner ×1
module ×1
pytorch ×1
x86 ×1