小编Dmi*_*sev的帖子

nvm与npm config"prefix"选项不兼容:

我试图运行另一个NodeJS版本,nvm但收到此错误:

$ nvm use v4.2.4

nvm is not compatible with the npm config "prefix" option: 
   currently set to "/Users/z/.npm-global"
Run `npm config delete prefix` or `nvm use --delete-prefix v4.2.4` to unset it.
Run Code Online (Sandbox Code Playgroud)

我故意设置了我的前缀sudo npm(参见https://docs.npmjs.com/getting-started/fixing-npm-permissions).

有没有办法可以使用nvm而不会丢失全局安装包的前缀?

prefix node.js npm nvm

181
推荐指数
9
解决办法
7万
查看次数

量角器和卡玛可以一起使用吗?

如果Protractor正在取代Angular Scenario Runner进行E2E测试,这是否意味着我仍然可以将它与Karma一起用作我的E2E测试框架?

javascript testing angularjs karma-runner protractor

102
推荐指数
2
解决办法
3万
查看次数

gyp WARN EACCES用户"root"无权访问dev dir

尝试去

sudo npm install protractor -g
Run Code Online (Sandbox Code Playgroud)

再次臭名昭着的错误/警告(谷歌搜索无效):

gyp WARN EACCES user "root" does not have permission to access the dev dir "/Users/dmitrizaitsev/.node-gyp/0.12.0"
Run Code Online (Sandbox Code Playgroud)

似乎发生的是node version 0.12.0在同一安装过程中一次又一次地下载和重建,尽管我的机器上是当前的节点版本:

node -v
v0.12.0
Run Code Online (Sandbox Code Playgroud)

问题:

  • 实际上缺少目录"/Users/dmitrizaitsev/.node-gyp/0.12.0"!为何如此误导消息?

  • 为什么这个目录既node v0.12.0没有在上一次成功重建期间也没有创建node-gyp

  • (显然)我怎样才能防止这种情况发生?

如果它有任何重要性,我运行Mac OSX 10.8.5.

permissions root node.js npm

41
推荐指数
2
解决办法
2万
查看次数

文本对齐是对齐但是向右吗?

我们想要text-align:justify,以获取列的所有宽度,但它应该从右侧开始.有没有办法用css或某种方式来制作它?

编辑:

正如建议的 http://jsfiddle.net/dVbJr/33/

.text {
  text-align: justify;
  direction:rtl;
}
Run Code Online (Sandbox Code Playgroud)

有效,但它有标点符号问题.

解决了

    <span style="float:right">...</span>
Run Code Online (Sandbox Code Playgroud)

这附加到最后解决了标点符号问题.感谢大家的努力!我接受第一个答案.

html css layout

28
推荐指数
3
解决办法
4万
查看次数

generator-karma不满足其兄弟姐妹的peerDependencies要求

同样臭名昭着的错误

npm ERR! peerinvalid The package generator-karma does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer generator-angular@0.7.1 wants generator-karma@~0.6.0
npm ERR! peerinvalid Peer generator-angular-ui-router@0.5.3 wants generator-karma@~0.5.0

npm ERR! System Darwin 12.5.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "generator-angular"
npm ERR! cwd /Users/dmitrizaitsev/Dropbox/Priv/APP/my-yo-project
npm ERR! node -v v0.10.24
npm ERR! npm -v 1.3.21
npm ERR! code EPEERINVALID

来自安装各种包装,例如

npm update -g yo
Run Code Online (Sandbox Code Playgroud)

唯一找到的卸载建议generator-karma没有帮助 - 它重新安装回来.

更好地解释它为什么会发生和工作解决方案?

generator node.js angularjs yeoman karma-runner

28
推荐指数
2
解决办法
2万
查看次数

如何通过postinstall npm脚本自动将文件从包复制到本地目录?

我想在运行后自动将某些文件从npm包复制到用户的本地目录

npm install my-package

我可以通过声明"files"内部来安装它们package.json.问题是---文件没有放在本地目录中.所以我需要运行postinstall脚本.

但现在我不知道软件包的安装位置(可能在目录树的更高位置),那么如何通过脚本可靠地访问文件并将它们复制到本地目录?

(通过本地目录,我的意思是---从npm install my-package 用户消费包的地方开始.)

UPDATE.似乎postinstall脚本作为npm拥有主进程的进程运行node_modules/my-package,所以我仍然不知道如何访问用户的主目录而不是天真../../.

install package node.js npm post-install

17
推荐指数
3
解决办法
8110
查看次数

使用参数缓存URL视图/状态

我正在使用Cordova和AngularJS制作移动应用程序.目前我已经安装了ui-router用于路由,但我对任何其他路由选择开放.

我的愿望:我想缓存某些与参数绑定的视图.换句话说,我想缓存路径(或页面).

示例情况:假设我们看到一些仪表板页面,点击一些重定向到路径的书籍封面book/2.此路径首次加载到应用程序中.路由器重定向HomeControllerBooksController(无论名称).现在BooksController加载给定的数据$stateParams(book id = 2)并创建充满所选书籍信息的视图.

在这种情况下我想要的是什么:

  1. 我回到仪表板页面 - 它已经加载(缓存?)
  2. 我再次选择书#2
  3. 控制器或路由器注意到已加载有关此书的数据
  4. 视图没有被重新创建,而是从缓存中获取

实际上,最好根据路径缓存我访问的所有内容.预加载也很酷.

原因:表现.当我打开一些书籍列表时,我希望它能够快速显示.每次创建视图时,页面更改的动画看起来很糟糕(它不是很平滑).

任何帮助,将不胜感激.

编辑:

首先,由于我认为这是许多移动HTML应用程序编程人员的常见问题,我想精确一些信息:

  1. 如果可能的话,我不是在寻找黑客,而是寻找明确的解决方案.
  2. 视图中的数据使用AngularJS,所以YES,有类似东西ng-bind,ng-repeat等等.
  3. 数据DOM元素 需要缓存.据我所知,浏览器的布局操作并不像重新创建整个DOM树那样昂贵.重画不是我们可以省略的.
  4. 拥有独立的控制器是很自然的事情.因为没有它我可以离开,我无法想象它是如何工作的.

我有一些半解决方案,但我会对我的愿望严格要求.

解决方案1.

将所有视图放入一个文件(我可以使用gulp builder)并使用ng-show.这是最简单的解决方案,我不相信任何知道AngularJS的人都不会想到它.

一个很好的技巧(来自@DmitriZaitsev)是创建一个辅助函数来显示/隐藏基于当前位置路径的元素.

好处:

  1. 这很简单.
  2. 预加载功能.

缺点:

  1. 所有视图都必须在一个文件中.不要问为什么不方便.
  2. 由于这一切都与移动设备有关,有时我想"清除"内存.我能想到的唯一方法是从DOM中删除这些孩子.肮脏但还可以.
  3. 我不能同时缓存/ book/2和/ book/3.我必须在每个使用参数绑定的视图的一些模板之上动态创建DOM子节点.

解决方案2.

使用来自ui-router-extras的 Sticky States和Future States 非常棒.

好处:

  1. 分开的看法.
  2. 非常简单的用法,非常简单,因为它只是一个插件ui-router.
  3. 可以创建动态子状态.所以可以缓存book1, …

javascript angularjs angular-routing angular-ui-router

12
推荐指数
1
解决办法
1万
查看次数

使用angular-ui-bootstrap创建可Hoverable popover

我有以下代码在我的模板文件中创建一个popover:

<span class="icon-globe visibility" 
      id="visibilityFor{{post.metaData.assetId}}" 
      popover="{{post.visibilityListStr}}" 
      popover-placement="right" 
      popover-trigger="mouseenter" 
      popover-popup-delay="50" 
      visibility>
</span>
Run Code Online (Sandbox Code Playgroud)

我在popover上有一些可点击的链接.但问题是我无法悬停在创建的弹出窗口上.我提到链接http://jsfiddle.net/xZxkq/ 并尝试创建一个指令即.为此目的的"可见性".

这是代码:

myAppModule.directive("visibility", function ($timeout,$rootScope) {
  return {

    controller: function ($scope, $element) {
        $scope.attachEvents = function (element) {
            $('.popover').on('mouseenter', function () {
                $rootScope.insidePopover = true;
            });
            $('.popover').on('mouseleave', function () {
                $rootScope.insidePopover = false;
                $(element).popover('hide');
            });
        }
    },
    link: function (scope, element, attrs) {
        $rootScope.insidePopover = false;

        element.bind('mouseenter', function (e) {
            $timeout(function () {
                if (!$rootScope.insidePopover) {
                    element.popover('show');
                    attachEvents(element);
                }
            }, 200);
        });

        element.bind('mouseout', function (e) {
            $timeout(function …
Run Code Online (Sandbox Code Playgroud)

angularjs angular-ui angularjs-directive angular-ui-bootstrap

11
推荐指数
5
解决办法
3万
查看次数

如何在Sublime中的JavaScript字符串中语法高亮显示HTML

在JavaScript字符串中是否有语法高亮HTML的Sublime包?

(注意问题只是关于JS字符串中的HTML,而不是一般的语法高亮.)

具体来说,我正在使用内联模板编写Angular组件

angular.module('compMod', []).component('myComp', {
    template: `<div>Some Text</div>`
});
Run Code Online (Sandbox Code Playgroud)

并希望在ES6模板字符串中突出显示HTML语法.

html javascript syntax-highlighting angularjs sublimetext3

10
推荐指数
1
解决办法
2183
查看次数

获得gulp使用livereload

我有我Gulpfile的编译我的sass,只是" live-reload远离倾销codekit".我正在努力让这种风格的注射工作.我试图设置它:https://github.com/vohof/gulp-livereload

当我在终端中运行gulp时,它似乎编译了sass,但它没有注入样式.我究竟做错了什么?我在chrome +以下节点模块中安装了livereload扩展:

  "devDependencies": {
    "gulp": "~3.5.0",
    "gulp-sass": "~0.6.0"
  },
  "dependencies": {
    "gulp-livereload": "~0.2.0",
    "tiny-lr": "0.0.5"
  }
Run Code Online (Sandbox Code Playgroud)

我的gulpfile看起来像这样:

var gulp = require('gulp');

//plugins
var sass = require('gulp-sass'),
    lr = require('tiny-lr'),
    livereload = require('gulp-livereload'),
    server = lr();

gulp.task('sass', function () {
    gulp.src('./scss/*.scss')
        .pipe(sass())
        .pipe(gulp.dest('./'))
        .pipe(livereload(server));
});


// Rerun tasks when a file changes
gulp.task('watch', function () {
    server.listen(35729, function (err) {

        if (err) return console.log(err);

        gulp.watch('scss/**/*.scss', ['sass']);

    });
});





// …
Run Code Online (Sandbox Code Playgroud)

sass livereload gulp

9
推荐指数
1
解决办法
3万
查看次数