小编Cha*_*ist的帖子

扩展组件装饰器 angular 7

我知道这个问题已经发布了很多次,但不是针对 angular 7。似乎他们改变了一些东西,因为它像这里描述的那样做:https : //stackoverflow.com/a/51256389/1056512不再工作了。这是代码:

import { Component } from '@angular/core';

export function CustomElement(args: any = {}): (cls: any) => any {
  const ngCompDecorator = Component(args);

  return function(compType: any) {
    ngCompDecorator(compType);
  };
}
Run Code Online (Sandbox Code Playgroud)

装饰器使用

@CustomElement({
  selector: 'multiple',
  templateUrl: './multiple.html',
  styleUrls: ['./multiple.scss']
})
Run Code Online (Sandbox Code Playgroud)

我有以下错误: Failed to load multiple.html

这里发生了什么事?

编辑:我的包依赖项:

"@angular/animations": "~7.2.0",
"@angular/common": "~7.2.0",
"@angular/compiler": "~7.2.0",
"@angular/core": "~7.2.0",
"@angular/forms": "~7.2.0",
"@angular/platform-browser": "~7.2.0",
"@angular/platform-browser-dynamic": "~7.2.0",
"@angular/router": "~7.2.0",
"core-js": "^2.5.4",
"rxjs": "~6.3.3",
"tslib": "^1.9.0",
"zone.js": "~0.8.26"
Run Code Online (Sandbox Code Playgroud)

Stackblitz 在 7.0.1 上运行,我在 7.2.0 …

typescript typescript-decorator angular

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

使用webpack和lodash捆绑依赖库

我在这里需要帮助。我捆绑了一个自定义库(以示例LibraryJS命名,它使用lodash作为依赖项。

在webpack配置中,我将lodash设置为外部依赖项,如下所示:

{
   externals: {
       "lodash"
   }
}
Run Code Online (Sandbox Code Playgroud)

效果很好。但是,当我想在另一个项目中使用该库时,出现以下错误:“ libraryjs.js:77 Uncaught ReferenceError:未定义lodash

这是以下行:

/***/ }),
/* 1 */
/***/ (function(module, exports) {

=> module.exports = lodash;

/***/ }),
Run Code Online (Sandbox Code Playgroud)

事实是,我在项目中也使用lodash,因此它应该可以正常工作。我究竟做错了什么?

顺便说一句,我正在使用gulp + browserify捆绑我的项目,并使用gulp + gulp-webpack捆绑了图书馆。

编辑:我找到了一种修复错误的方法,但我真的不想坚持使用此修复程序,因为它的确是...丑陋的。

const lodash = require('lodash')
window.lodash = lodash; // <= The fix, ugh
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助!

javascript lodash gulp webpack

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

找到作为属性的Typescript类方法

我有一个小错误(?)与我的打字稿代码.请参阅以下内容:

class Component {
    assertBoolean(): boolean {
       return true;
    }
}

class DummyComponent extends Component() {
}

const components: Component[] = [ DummyComponent ];
Run Code Online (Sandbox Code Playgroud)

我收到以下打字稿错误:

错误TS2322:类型'typeof DummyComopnent'不能分配给'Component'类型'typeof DummyComponent'中缺少'assertBoolean'属性.

我真的不知道我在那里做错了什么,基本的OOP.

typescript

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