标签: jspm

获取所有已声明模块导入的列表(SystemJS)

我正在使用jspm和SystemJS导入ES2015模块.

是否可以通过System对象或其他任何位置获取项目中所有导入模块的列表?我可以通过访问我的项目特定模块System._loader.moduleRecords,但是我通过jspm安装的模块(例如d3,jquery)不会出现在此列表中.

System._loader.modules包含所有模块的列表,但遗憾的是还包括转换我的代码和模块加载包所需的模块列表.

System._loader.moduleRecords (项目模块) 在此输入图像描述

System._loader.modules (项目模块,库,transile包) 在此输入图像描述

我只想要一个已声明的导入列表,特别是我导入的导入列表import x from 'x'.这应该包括这两个项目的模块和库,但巴贝尔/模块加载相关的模块.我想解决方案不涉及使用正则表达式进行过滤.

javascript ecmascript-6 systemjs jspm

6
推荐指数
1
解决办法
1231
查看次数

jspm:导入jQuery插件时出错

我正在尝试使用jspm/SystemJS 导入jQuery插件(即https://github.com/Mottie/Keyboard).

首先,我只需输入以下命令即可安装模块:

jspm install github:mottie/keyboard
Run Code Online (Sandbox Code Playgroud)

我在导入jQuery之后添加了在我的代码中导入库的行:

import keyboard from 'mottie/keyboard';
Run Code Online (Sandbox Code Playgroud)

但是,在运行代码时,我遇到以下错误:

Uncaught TypeError: Multiple defines for anonymous module
Run Code Online (Sandbox Code Playgroud)

谷歌搜索错误没有给我一个解决方案,至少没有一个我能理解的...我不知道这里是否有一些jspm大师可以帮助我?:)

提前谢谢了...

jquery systemjs jspm

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

Aurelia建立在VSO托管构建控制器上

我正在尝试在VSO Hosted Build Controller上为Aurelia进行构建.我创建了一个小的PowerShell脚本来运行以下命令

npm install
.node_modules/.bin/jspm cc
.node_modules/.bin/jspm install -y
.node_modules/.bin/gulp build
Run Code Online (Sandbox Code Playgroud)

我确实有AfterBuild目标将jspm_packages和dist文件夹复制到我的_publishedWebsites文件夹.

npm install运行正常,但是当涉及到jspm cc时(如果我删除jspm cc并让它运行jspm install -y),它就会尝试这个

jspm cc

          Migrating global jspm folder from C:\Users\buildguest\.jspm to C:\Users\buildguest\AppData\Local\.jspm...
          Copying configuration...

     err  Error migrating to new jspm folder
 2>EXEC : error : ENOENT, no such file or directory 'C:\Users\buildguest\.jspm\config' [d:\a\src\WebGUI\OwinAureliaScaffold\OwinAureliaScaffold.csproj]
              at Object.fs.openSync (evalmachine.<anonymous>:427:18)
              at Object.fs.readFileSync (evalmachine.<anonymous>:284:15)
              at Object.<anonymous> (d:\a\src\WebGUI\OwinAureliaScaffold\public\node_modules\jspm\lib\global-config.js:36:24)
              at Module._compile (module.js:456:26)
              at Object.Module._extensions..js (module.js:474:10)
              at Module.load (module.js:356:32)
              at Function.Module._load (module.js:312:12)
              at Module.require (module.js:364:17)
              at require (module.js:380:17)
              at Object.<anonymous> …
Run Code Online (Sandbox Code Playgroud)

aurelia jspm azure-devops

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

为什么我会收到来自 Karma 网络服务器的 404 消息?

目前,我正在尝试使用带有 ES6 转译器 Babel 和 Karma 的 Node/AngularJs/JSPM 设置一个演示项目。

服务部分正在工作。我需要稍后改进它,但是来自 angular 的第一个“hello world”正在工作。

我想添加 Karma 来运行 angular 应用程序的单元测试。但是我收到了 404 警告jspm_packages,请参见下面的屏幕截图。

我的测试没有运行,因为它总是会失败。我的测试文件看起来像这样(那里还没有特定角度的部分):

// HomeController.spec.js
import 'angular-mocks';

describe('Test suite for HomeController', function() {

    it('dummy test', function() {
        expect(true).toBe(true); // will not fail
    });
});
Run Code Online (Sandbox Code Playgroud)

不知道出了什么问题,我尝试了很多事情都没有成功,也许我做错了什么。但这是我在 Karma 配置中尝试过的:

  • 尝试了许多不同的路径设置,因为我认为这是路径的问题
  • 使用的代理
  • Browserify 和 Bablify 来转译源代码
  • 用于加载测试依赖项的 JSPM 插件

您可以在bitbucket上找到我目前正在处理的代码

我的应用程序的目录结构如下所示:

在此处输入图片说明

这是 Karma 的屏幕截图: 在此处输入图片说明

这是我当前的 Karma 配置文件:

module.exports = function(config) {
config.set({

// base path that will be used to …
Run Code Online (Sandbox Code Playgroud)

angularjs ecmascript-6 karma-runner jspm

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

使用JSPM"Envify"React

我正在使用JSPM来构建React应用程序.在构建期间捆绑解决方案时,我想使用类似的东西"envify"整个解决方案(我的代码库加上任何库,如React)NODE_ENV=production jspm bundle ./src/main ./dist/main.min.js --minify.我已经尝试了几十种不同的方法,但似乎并不适用于整个代码库.

javascript reactjs jspm

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

jspm install和npm install之间的区别

我对jspm比较陌生.我想知道在运行时有什么区别jspm install packagenpm install package.我知道有一个jspm/registry查找.但是在设置方面有什么不同config.js.如果使用npm安装软件包,是否还有其他更改?

jspm

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

模块'UploaderModule'导入的意外值'FileUploadModule' - ng2-file-upload

使用angular 2.0.1(发布)和ng2-file-upload 1.1.0(最新版本)运行此代码时出现上述错误.我正在使用带有systemjs的jspm来捆绑我的应用程序(所有这些都是最新的).

import {Component, NgModule} from '@angular/core';
import {CommonModule} from '@angular/common';
import {FileUploadModule} from 'ng2-file-upload';

@Component({
  selector: 'uploader',
  templateUrl: '/build/templates/uploader.html'
})
export class UploaderComponent {
    uploader = new FileUploader({url: '/upload'});
    hasBaseDropZoneOver = false;

    fileOverBase(event) {
        this.hasBaseDropZoneOver = event;
    }

    clearQueue() {
        this.uploader.clearQueue();
    }
}

console.log(FileUploadModule);

@NgModule({
    imports: [CommonModule, FileUploadModule],
    declarations: [UploaderComponent],
    exports: [UploaderComponent]
})
export class UploaderModule {};
Run Code Online (Sandbox Code Playgroud)

如果我检查FileUploadModule的值,它看起来非常好,就像它看起来就像我检查过的所有其他模块一样.我的应用程序中还有其他所有功能,但这一部分.这个模块的"意外"是什么?

完整错误:

错误:(SystemJS)模块'UploaderModule'(...)导入的意外值'FileUploadModule'

这是FileUploadModule导出的相对部分,对我来说很好

var FileUploadModule = (function() {
  function FileUploadModule() {}
  FileUploadModule = __decorate([core_1.NgModule({
    imports: [common_1.CommonModule],
    declarations: [file_drop_directive_1.FileDropDirective, file_select_directive_1.FileSelectDirective],
    exports: …
Run Code Online (Sandbox Code Playgroud)

systemjs jspm angular

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

无法删除Aurelia路由的前一个标签

我遇到了一个似乎无法解决的问题.应该可以通过执行中提供的步骤来删除路由中的前一个hashtag RouterConfiguration -> Options-> Push State.

我已经执行了所有这些步骤,请参阅下面的代码.

app.ts RouterConfiguration选项

public configureRouter(config: RouterConfiguration, router: Router) {
    config.options.pushState = true;
    config.options.root = '/';
    config.map([
        {
            route: 'login',
            name: 'login',
            moduleId: 'pages/auth/login',
            nav: false,
            title: 'Login',
            settings: {
                allow_anonymous: true
            }
        }
    ]);
    ...
Run Code Online (Sandbox Code Playgroud)

index.html头

<head>
  <meta charset="utf-8">
  <base href="/">
  ...
Run Code Online (Sandbox Code Playgroud)

config.js

System.config({
  baseURL: "/",
  ...
Run Code Online (Sandbox Code Playgroud)

我的登录路线仍然只能使用localhost:9000/#/loginlocalhost:9000/login无法找到.我也试过在一个新的Aurelia JSPM骨架应用程序中实现它无济于事......

知道为什么会这样,我可能做错了什么?

aurelia jspm

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

什么可能导致JSPM捆绑模块寻求从jspm_packages加载?

在捆绑的生产构建中,我看到一个网络请求:systemjs-plugin-babel@0.0.21.json来自缓存 ...在同一个实例上,它无法完全加载到我的应用程序.

它无法加载从http:// thehost/myapp/jspm_packages/npm路由的任何内容

我的理解是,在捆绑的JSPM模块中,它不应该从这种路由加载,因为所有内容都捆绑到build.js文件中.

我目前使用以下gulp任务捆绑我的应用程序:

gulp.task('jspm-bundle', plugins.shell.task([
      'node node_modules/jspm/jspm.js bundle myapp/index.jsx' +
      ' + myapp/things/**/*.jsx + myapp/otherthings/**/*.jsx' +
      ' + systemjs-plugin-babel + babel-preset-stage-0 + transform-react-jsx' +
      ' + transform-decorators-legacy' +
      ' --minify --skip-source-maps'
    ])
Run Code Online (Sandbox Code Playgroud)

我不知道从哪里开始...有人能告诉我为什么捆绑的应用程序甚至会尝试向浏览器发出这种请求的原因吗?

更新1:

有一次,我们看到一个承诺拒绝似乎与这个单一的客户有关:

Unhandled promise rejection Error: Syntax Error
    Instantiating http://myhost/myapp/jspm_packages/npm/systemjs-plugin-babel@0.0.21.json
    Loading http://myhost/myapp/jspm_packages/npm/systemjs-plugin-babel@0.0.21.json
    Unable to fetch package configuration file http://myhost/myapp/jspm_packages/npm/systemjs-plugin-babel@0.0.21.json
    Resolving plugin-babel to http://myhost/myapp/app/index.jsx
    Resolving myapp/index.jsx
    Loading myapp/index.jsx
Run Code Online (Sandbox Code Playgroud)

更新2:

我的FULL SystemJS配置:https://pastebin.com/aJFPqNGn

更新3(上次更新?):

如果我从'npm:systemjs-plugin-babel'明确导入,我可以在生产中重新创建问题,但我无法解释为什么在客户端安装的生产中会发生这种导入.发生语法错误是因为对不存在的文件的请求返回登录html并且在html中的第一个'<'上发生语法错误

bundling-and-minification systemjs jspm

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

在 Rail 7 中使用 Chart.js 和 importmaps

我正在尝试与 Rails 7 中的 importmaps 集成chartjs,但它不起作用

我尝试过以下过程

     bin/importmap pin "chart.js@^3.8.0" --download
Run Code Online (Sandbox Code Playgroud)

这是我的 application.js

    import 'chart.js'
Run Code Online (Sandbox Code Playgroud)

我在 chrome 控制台中收到以下错误,我相信它与 ES 模块有关

Get http://localhost:5000/_/e09df68b.js` net::ERR_ABORTED 404 (Not Found)    chart.js-67657cw24cb.js:1 
Run Code Online (Sandbox Code Playgroud)

我是否遗漏了某些内容,或者尚无法将 Chart.js 与 Rails 7 集成

ruby-on-rails chart.js jspm import-maps rails7

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