小编Jam*_*aly的帖子

在javascript中强制执行新的模式

我一直在阅读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)

javascript

13
推荐指数
1
解决办法
999
查看次数

在骨干网中创建基本导航

我是骨干的完整菜鸟,并决定尝试使用骨干作为结构创建一个或两个网页.我的第一个任务是创建一个基本的导航.我的页面住在这里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)

javascript backbone.js

5
推荐指数
1
解决办法
674
查看次数

创建一个 monorepo 而不托管在包注册表上并通过 bitbucket 安装

在我的组织中,我们正在尝试创建 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)

任何帮助表示赞赏

javascript git npm lerna monorepo

5
推荐指数
1
解决办法
1966
查看次数

正则表达式javascript搜索前两位数字,并确保所有字符后面都是alpha

希望快速回答​​这个问题,我有一个字符串,我正在尝试匹配前两个数字

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匹配前两个数字; 在前两位数后,它应该是所有字母字符.我是新手,无法弄明白; 一如往常任何帮助表示赞赏

javascript regex

0
推荐指数
1
解决办法
5120
查看次数

标签 统计

javascript ×4

backbone.js ×1

git ×1

lerna ×1

monorepo ×1

npm ×1

regex ×1