我正在尝试在我的 esbuild 构建中导入bootstrap JS:
// index.js
import 'jquery-import'
import 'bootstrap'
// jquery-import.js
import jquery from 'jquery'
window.jQuery = window.$ = jquery;
Run Code Online (Sandbox Code Playgroud)
构建目标是esm. 问题是运行以下引导代码:
factory(exports, require('jquery'), require('popper.js'));
Run Code Online (Sandbox Code Playgroud)
这不使用我的全局window.jQuery,而是需要它自己的,这意味着我的全局window.$.fn不包含 Bootstrap 扩展。另外,我认为这会使 jQuery 加载两次。
有没有办法在不调整引导源代码的情况下解决这个问题?
更多背景知识:
引导程序源代码以以下语句开头(稍加修改以提高可读性):
(function (global, factory) {
if (typeof exports === 'object' && typeof module !== 'undefined') {
// Option 1: The route taken by esbuild
factory(exports, require('jquery'), require('popper.js'));
} else if (typeof define === 'function' && define.amd) {
// Option …Run Code Online (Sandbox Code Playgroud) 据我所知,assign_attributes(不像update_attributes)不应保存记录或就此保存任何记录。
所以当我发现提供_ids一个has_many through:关系。
考虑以下示例:
class GroupUser < ApplicationRecord
belongs_to :group
belongs_to :user
end
class Group < ApplicationRecord
has_many :group_users
has_many :users, through: :group_users
end
class User < ApplicationRecord
has_many :group_users
has_many :groups, through: :group_users
validates :username, presence: true
end
Run Code Online (Sandbox Code Playgroud)
因此,我们的用户和用户组之间是一对一的关系。
Group.create # Create group with ID 1
Group.create # Create group with ID 2
u = User.create(username: 'Johny')
# The following line inserts two `GroupUser` join objects, despite the fact
# that …Run Code Online (Sandbox Code Playgroud) 在为单元测试创建辅助方法时,故障的控制台输出仅指示实际断言发生的行.
# Just an example method.
def test_equal(a, b)
assert_equal a, b # Error indicates this line
end
test_equal(1, 2) # I'd like to know this line
test_equal(2, 3)
Run Code Online (Sandbox Code Playgroud)
有没有办法显示类似"回溯"的内容或为这些断言错误提供更多上下文?
我写了一个自定义的 rubocop cop,摘录如下:
def_node_matcher :is_foo_bar?, <<-PATTERN
(send (const nil :Foo) :bar)
PATTERN
def on_send(node)
puts "Match" if is_foo_bar?(node)
end
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用以下代码:
Foo.bar
Run Code Online (Sandbox Code Playgroud)
有趣的是,node.to_s下面的内容与我的模式完全匹配:
"(send
(const nil :Foo) :bar)"
Run Code Online (Sandbox Code Playgroud)
但节点不匹配。如果我将模式更改为以下内容,它仍然有效:
(send (...) :bar)
Run Code Online (Sandbox Code Playgroud)
为什么我原来的匹配不起作用?
我的版本:
activemodel ×1
activerecord ×1
bootstrap-4 ×1
es6-modules ×1
esbuild ×1
javascript ×1
minitest ×1
node.js ×1
rubocop ×1
ruby ×1
ruby-parser ×1
unit-testing ×1
vim ×1