标签: jspm

将SASS与Aurelia的Skeleton Navigation项目结合使用

var gulp = require('gulp');
var sass = require('gulp-sass');
var runSequence = require('run-sequence');
var changed = require('gulp-changed');
var plumber = require('gulp-plumber');
var to5 = require('gulp-babel');
var sourcemaps = require('gulp-sourcemaps');
var paths = require('../paths');
var compilerOptions = require('../babel-options');
var assign = Object.assign || require('object.assign');

// transpiles changed es6 files to SystemJS format
// the plumber() call prevents 'pipe breaking' caused
// by errors from other gulp plugins
// https://www.npmjs.com/package/gulp-plumber
gulp.task('build-system', function () {
  return gulp.src(paths.source)
    .pipe(plumber())
    .pipe(changed(paths.output, {extension: '.js'}))
    .pipe(sourcemaps.init({loadMaps: true}))
    .pipe(to5(assign({}, …
Run Code Online (Sandbox Code Playgroud)

sass gulp aurelia jspm aurelia-navigation

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

当你使用jspm安装githup repo时如何告诉它要获取哪个zip版本,或者代之以克隆repo

1)它是克隆回购还是从版本拉出来?据我所知,它是从版本中提取的.

2)可以通过选项覆盖它,就像为特定版本指定@version一样.即我想从发布分支中提取特定的zip或者只是克隆repo

我问的原因是,让我们看看https://github.com/Dogfalo/materialize/releases看看v 0.96.0,你可以看到它有4个不同的发布zip文件,jspm怎么知道哪个得到?

我开始为materialize编写一个覆盖并将其添加到jspm注册表但是我遇到了一个问题,对于我我想要整个repo,因为它除了css和js之外还包含sass文件,但是jspm当前的方式如果你使用这个命令jspm install materialize=github:dogfalo/materialize@0.96.0安装materialize,它会安装不包含sass文件的materialize-v0.96.0.zip发行版,而不是我想要的源代码zip或repo的克隆.

jspm

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

Flux抛出Dispatcher不是构造函数

我尝试将jspm与reactjs一起使用.我工作得很好.但是当我从npm将它与flux软件包集成时.然后它总是抛出Dispatcher不是构造函数错误.我的代码如下

AppDispatcher.js

import Flux from 'flux';
export default new Flux.Dispatcher();
Run Code Online (Sandbox Code Playgroud)

StoreBase.js

'use strict';

import {EventEmitter} from 'events';
import AppDispatcher from '../dispatchers/AppDispatcher';

const CHANGE_EVENT = 'change';

export default class BaseStore extends EventEmitter {
    constructor() {
        super();
    }

    subscribe(actionSubscribe) {
        this._dispatchToken = AppDispatcher.register(actionSubscribe());
    }

    get dispatchToken() {
        return this._dispatchToken;
    }

    emitChange() {
        this.emit(CHANGE_EVENT);
    }

    addChangeListener(cb) {
        this.on(CHANGE_EVENT, cb)
    }

    removeChangeListener(cb) {
        this.removeListener(CHANGE_EVENT, cb);
    }
}
Run Code Online (Sandbox Code Playgroud)

我使用reactjs@0.13.3,al响-router@0.13.3和flux@2.0.3.有人可以帮我吗?

javascript node.js reactjs reactjs-flux jspm

5
推荐指数
2
解决办法
2018
查看次数

使用非npm(遗留)javascript库与Jspm

我正在尝试整合这个非npm的.我已经多次失败,因为我总是因为使用一些现代框架而茁壮成长,这使我无法整合.

我尝试使用require.js的backbone.js,甚至是Dart,现在我顽固地尝试使用gulp,jspm,aurelia来实现同样的目标.问题是这个库可能不遵循模块概念.我对这个lib的初始化有很多问题,做了很多补偿.

所以问题是如何使用这种类型的库.同时使用现代方法构建javascript应用程序.

javascript node.js backbone.js aurelia jspm

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

JSPM从不同的两个源加载相同的依赖项 - npm:angular-material依赖于github:bower-angular

我有一个使用的角度1.5.5项目jspm获取和捆绑的所有前端的依赖- ,angular,,angular-material 等.angular-adalngcomponentrouter

我们正在使用npm:端点解析所有这些依赖项.当我们安装时会出现问题angular-material,因为它angulargithub:angular/bower-angular(而不是npm:angular)拉入第二依赖.

这可以通过运行来复制:

jspm install npm:angular
jspm install npm:angular-material
Run Code Online (Sandbox Code Playgroud)

其中第二个命令输出:

     Looking up npm:angular-material
     Updating registry cache...
     Downloading npm:angular-material@1.1.0-rc4-master-06e7e99
     Looking up github:angular/bower-angular
     Looking up github:angular/bower-angular-messages
     Looking up github:systemjs/plugin-css
     Looking up github:angular/bower-angular-animate
     Looking up github:angular/bower-angular-aria
ok   Installed github:angular/bower-angular-messages@^1.5.3 (1.5.5)
ok   Installed github:angular/bower-angular@^1.5.3 (1.5.5)
ok   Installed github:angular/bower-angular-aria@^1.5.3 (1.5.5)
ok   Installed github:angular/bower-angular-animate@^1.5.3 (1.5.5)
Run Code Online (Sandbox Code Playgroud)

导致角度被我们的UI加载两次 - 一次来自wwwroot/lib/github/angular一次wwwroot/lib/npm/angular@1.5.5

我的问题是:

有没有办法强制angular只从一个源解决相同的依赖?如何确保仅加载角度1.5.5的单个依赖项?

npm angularjs angular-material jspm

5
推荐指数
0
解决办法
146
查看次数

在aurelia app中需要bootstrap和jquery

我是Aurelia的新手,所以我不确定这应该如何运作.我创建了一个新的Aurelia项目,并且还bootstrap简单地安装了jspm install bootstrap.我在控制台看到这个也进来了jquery 3.0.0.

现在我的问题是,我如何使用bootstrap.css,bootstrap.jsjquery.js在我的项目中?

第一次尝试:

app.html我试图做以下事情:

<require from="bootstrap"></require>
Run Code Online (Sandbox Code Playgroud)

我试过了,因为我的帖子中有以下内容config.js:

map: {
    ...
    "bootstrap": "github:twbs/bootstrap@3.3.6",
    ...
}
Run Code Online (Sandbox Code Playgroud)

这种工作在它加载的意义上起作用bootstrap.js,但随后在浏览器中出现错误jquery.js.所以它不会自动为我加载jquery.这是正常的吗?

第二次尝试:

我改变了我require的意思app.html:

<require from="jquery/dist/jquery.js"></require>
<require from="bootstrap/css/bootstrap.css"></require>
<require from="bootstrap/js/bootstrap.js"></require>
Run Code Online (Sandbox Code Playgroud)

我不知道它是如何知道在哪里查找bootstrap.jsbootstrap.css文件,因为它们位于:jspm_packages/github/twbs/bootstrap@3.3.6/css/bootstrap.css等.但它知道如何找到引导程序文件.但不是 jquery文件.

我在config.jsjquery中有这个:

map: {
    ...
    "github:twbs/bootstrap@3.3.6": {
      "jquery": "npm:jquery@3.0.0"
    },
    ....
}
Run Code Online (Sandbox Code Playgroud)

基本上我的问题是,这应该怎么做?我应该require自动加载所有必要的文件<require from="bootstrap">.或者我还应该将它们作为单个文件加载?如果是这样,我如何在这种情况下加载jquery?

aurelia jspm

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

d3 V4.2.1导入d3-selection-multi的TypeScript 2.0错误

我正在尝试使用jspm和systemjs将d3 v4导入到打字稿项目中.我可以使用这个正确导入d3

import * as d3 from 'd3';
Run Code Online (Sandbox Code Playgroud)

这有效,它允许我进行选择等.我尝试使用attr函数并传递一个不起作用的对象.我发现d3 v4包含了它作为一个单独的模块.

用jspm下载该模块d3-selection-multi后.我尝试将它导入我的项目中.

import * as d3 from 'd3';
import 'jspm_packages/npm/d3-selection-multi@1.0.0';
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用attrs功能,但控制台记录以下错误

(索引):40错误:(SystemJS)d3.selectAll(...).data(...).style(...).attrs不是函数(...)

我也得到一些编译错误,我一直得到,但他们仍然编译和代码运行

error TS2307: Cannot find module 'd3'
error TS1110: Type expected
Run Code Online (Sandbox Code Playgroud)

谁能解释我做错了什么并提供解决方案?

d3.js typescript systemjs jspm

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

TypeScript正在添加Object.defineProperty(exports,“ __esModule”,{value:true}); 引发错误

在此之后,我最近在新版本2.2.1上更新了打字稿,之后我开始在浏览器上收到此错误:

未捕获(承诺)错误:“未定义导出”

我注意到当.ts文件中有import语句时,打字稿在.js转储文件的开头“使用严格”之后添加了这一行。

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
Run Code Online (Sandbox Code Playgroud)

因此,我重新安装了以前的版本2.1.6,该行消失了,一切再次正常。

这是新版本的预期行为吗?我怎么能扔这个?

顺便说一下,我在JSPM中使用SystemJS

javascript typescript systemjs jspm

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

如何使用System.js与CDN和本地回退?

我跑了jspm install angular,它在本地安装到我的jspm_packages文件夹.

从代码中,我使用常规的ES6导入import angular from 'angular'.

如果CDN不可用,我需要做什么才能从CDN加载角度并回退到本地版本?

ecmascript-6 systemjs jspm

4
推荐指数
1
解决办法
3075
查看次数

在VueJS + JSPM中呈现为注释的组件

我尝试使用jspm和vue.js构建简单的应用程序.

这是我的html文件:

<html>
    <head>
        <script src="bundle.js"></script>
        <!--script src="jspm_packages/npm/vue@2.1.10/dist/vue.min.js"></script-->
    </head>
    <body>
       <div id="app">
          {{ message }}
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我的main.js文件:

import Vue from "vue"

const app = new Vue({
    el: '#app',
    data: {
        message: 'Hello Vue!'
    }
});
Run Code Online (Sandbox Code Playgroud)

我正在构建这样的自执行包:

jspm bundle-sfx main.js bundle.js
Run Code Online (Sandbox Code Playgroud)

当我打开浏览器时,我可以看到该节点div#app被注释节点替换.

空注释节点

您还可以$elVue对象中看到注释节点:

vue对象中的注释节点

当我从单独的文件中使用Vue时(例如从jspm文件下载jspm_packages/npm/vue@2.1.10/dist/vue.min.js),一切正常.

你可以看到这个问题在这个小提琴中重现(js是整个包):

https://jsfiddle.net/oz7c82rw/

我的代码出了什么问题?为什么dom节点呈现为空注释?

ecmascript-6 systemjs vue.js jspm

4
推荐指数
1
解决办法
2275
查看次数