我一直在阅读Stoyan Stefanov撰写的JavaScript Patterns一书,其中一个强制构造函数的新运算符的模式就像这样
function Waffle() {
if (!(this instanceof Waffle)) {
return new Waffle();
}
this.tastes = "yummy";
}
Waffle.prototype.wantAnother = true;
Run Code Online (Sandbox Code Playgroud)
以这种方式书写时,您可以使用其中一种方式调用Waffle
var first = new Waffle(),
second = Waffle();
Run Code Online (Sandbox Code Playgroud)
我认为这是一个有用的功能,不确定它是否在未来版本的ecma/javascript中实现
我想出了一些东西,我认为每次创建构造函数时都可以复制和粘贴
这样的事情
function checkInstance (name) {
if (name.constructor.name === undefined) {
return "construct it"
} else {
return false;
}
}
function Waffle() {
var _self = checkInstance.call(this, this);
if (_self === "construct it") {
return new Waffle()
}
this.tastes = "yummy"
}
var waffle = Waffle()
waffle …Run Code Online (Sandbox Code Playgroud) 我是骨干的完整菜鸟,并决定尝试使用骨干作为结构创建一个或两个网页.我的第一个任务是创建一个基本的导航.我的页面住在这里http://dalydd.com/projects/backbone.html 这里是我的javascript因此毛皮创建一个小的导航项目
(function($){
var NavigationItem = Backbone.Model.extend({
defaults: {
name: '',
href: '',
last: false,
id: ''
},
initialize: function() {
}
});
var home = new NavigationItem({name: 'home', href: '/home', id:'home'});
var about = new NavigationItem({name:'about', href: '/about'});
var contact = new NavigationItem({name:'contact', href: '/contact', last:true});
var TopNav = Backbone.Collection.extend({
model: NavigationItem,
});
var topNav = new TopNav();
NavView = Backbone.View.extend({
el : $('ul'),
initialize: function(){
_.bindAll(this, 'render');
this.render();
},
render : function() {
var self = this; …Run Code Online (Sandbox Code Playgroud) 在我的组织中,我们正在尝试创建 React 组件的 monorepo,以便它们可以在多个站点上使用。
我们目前有一个名为 react-components 的 repo 托管在 bitbucket 上,我们想使用 lerna.js 将其设置为 monorepo,因此结构看起来像
packages
package_1
package.json
dist
package_2
package.json
dist
Run Code Online (Sandbox Code Playgroud)
但是,我们不在注册表上托管我们的 npm 包,而是在 bitbucket 上托管它们并从那里安装它们
所以我希望能够通过 package.json 将每个包安装到我们的网站中
"@company_name/react_components/package_1": "git+ssh://git@bitbucket.ds.company_name.com:7999/np/react-components.git#personal/jdaly/testBranch",
Run Code Online (Sandbox Code Playgroud)
但是我不认为你可以在 package.json 中有那个路径所以它应该更像是
"@company_name/react_components": "git+ssh://git@bitbucket.ds.company_name.com:7999/np/react-components.git#personal/jdaly/testBranch",
Run Code Online (Sandbox Code Playgroud)
并像进口一样
import package_1 from "@company_name/react_components"
Run Code Online (Sandbox Code Playgroud)
是否可以在不使用包注册表的情况下设置 monorepo 并通过 git 链接导入所有 monerepo 包?网上查的资料不多
我跟着本教程https://blog.npmjs.org/post/186494959890/monorepos-and-npm 但是你仍然通过包注册表导入你的模块/包而不是感谢通过 git 链接安装
在我构建我的包后,我将它们推送到 repo 并在我的网站 package.json 中引用它
"@company_name/react-components": "git+ssh://git@bitbucket.ds.comapany_name.com:7999/np/react-components.git#personal/jdaly/firstCommit",
Run Code Online (Sandbox Code Playgroud)
当我去 node_modules 时,结构是
node_modules
@company_name
react_components
packages
package_1
package_2
package_3
lerna.json
package.json
Run Code Online (Sandbox Code Playgroud)
什么时候应该
node_modules
@company_name
react_components
package_1
package_2
package_3
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏
希望快速回答这个问题,我有一个字符串,我正在尝试匹配前两个数字
var str = "aasd10aaaa";
Run Code Online (Sandbox Code Playgroud)
之后,我想确保前两位数后面的每个字符都是字母字符az
这是我到目前为止所拥有的
var str = "aasd10aaaa";
var testIt = /[0-9]{2}[a-z]+/i
var test = testIt.test(str)
Run Code Online (Sandbox Code Playgroud)
但是,如果我的字符串是
var str = "aasd101aaa";
Run Code Online (Sandbox Code Playgroud)
但是当我测试上面的字符串时,它仍然返回true,即使它不应该因为我只希望reg ex匹配前两个数字; 在前两位数后,它应该是所有字母字符.我是新手,无法弄明白; 一如往常任何帮助表示赞赏