我有一个文件,有几十个javascript函数.我想要做的是将该文件导入Angular 2组件并运行在"external.js"文件中定义的init()函数.
import { Component, AfterViewInit } from '@angular/core';
import "../../../../assets/external.js";
@Component({
selector: 'app-component',
templateUrl: 'app.component.html'
})
export class ComponentNameComponent implements AfterViewInit {
constructor() { }
ngAfterViewInit(): void {
// invoke init() function from external.js file
}
}
Run Code Online (Sandbox Code Playgroud)
external.js使用import和ngAfterViewInit()加载我想调用external.js中的init()函数,该函数调用该外部文件中的所有其他方法.
这是external.js的一部分:
function init() {
callFunction1();
callFunction2();
}
Run Code Online (Sandbox Code Playgroud) 我有这样的文件:
{
"_id" : ObjectId("557eaf444ba222d545c3dffc"),
"foreing" : ObjectId("538726124ba2222c0c0248ae"),
"value" : "test",
}
Run Code Online (Sandbox Code Playgroud)
我想找到已复制的值对所有文件foreing和value.
我正在研究如何调用 @NgModule 装饰器内的函数。
出于我的目的,我希望能够调用内置于角度核心中的 isDevMode() 函数。
因此,在 @NgModule 中,我尝试根据该导入或非特定模块进行条件检查,我是处于开发模式还是生产模式。
解决方法可以是简单地将生产标志添加到环境文件中,但在我的情况下它不应该工作。
原因是因为对于某些环境,我希望能够动态地将生产标志设置为 true 或 false。因此, isDevMode() 函数已经基于 ng build 或 ngserve 期间传递的 --prod 标志来执行此操作,但问题是我无法执行以下操作:
@NgModule({
imports: [
....
isDevMode() : TestModule : []
....
]});
Run Code Online (Sandbox Code Playgroud)
如果我想获得符合 AOT 标准的应用程序,我会收到错误消息。
原因很明显,因为 NgModule 需要静态内容并且禁止函数调用,但我想知道是否有任何解决方法。
错误:
ERROR in app/app.module.ts(169,5): Error during template compile of 'AppModule'
Function calls are not supported in decorators but 'isDevMode'
Run Code Online (Sandbox Code Playgroud) 我正在尝试合并使用对象的对象数组 Object.assign()
var state = {
items: [{
id: "Harko",
name: "Haris"
},
{
id: "Benko",
name: "Benjo"
}]
}
var a = {
id: "Benko",
name: "Bengalka"
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试过了:
Object.assign(state.items,a);
Object.assign({}, { items: [state.items,a]);
Run Code Online (Sandbox Code Playgroud)
我想得到的是以下内容:
{
items: [{
id: "Harko",
name: "Haris"
},
{
id: "Benko",
name: "Bengalka"
}]
}
Run Code Online (Sandbox Code Playgroud)
所以我希望var的状态中具有id"Benko"的对象被var a覆盖,因为它们具有相同的id.
Object.assign有可能吗?
任何形式的帮助将不胜感激.
谢谢
我正在尝试使用以下方法构建一个小型桌面应用:
NodeJS将用于扫描本地用户hdd并插入在SQLite3数据库中找到的特定文件.
我检查了几十个文档和建议.他们中的大多数建议使用NodeJS express框架并在Angular 4+ - > Express - > SQLite3之间创建图层.
我想避免使用快速框架,因为它将是桌面应用程序,根本不需要它.
我尝试了什么,我做了什么:
我安装了:
"sqlite3": "^3.1.9",
"node-pre-gyp": "^0.6.36",
Run Code Online (Sandbox Code Playgroud)
作为我项目中的依赖项.
如果您想使用本机nodejs库,我应该阅读,您应该运行电子重建.所以我也安装了电子重建:
"electron-rebuild": "^1.6.0"
Run Code Online (Sandbox Code Playgroud)
作为devDependencies并使用以下命令运行它:
./node_modules/.bin/electron-rebuild
Run Code Online (Sandbox Code Playgroud)
重建sqlite3成功完成.
比我运行电子申请,我得到以下错误:
/~/node-pre-gyp/lib/node-pre-gyp.js
Module build failed: Error: ENOENT: no such file or directory, open '/home/haris/development/walter/angular-electron-starter/node_modules/node-pre-gyp/lib/node-pre-gyp.js'
at Error (native)
@ ./~/sqlite3/lib/sqlite3.js 1:13-36
@ ./src/app/home/home.component.ts
@ ./src/app/home/index.ts
@ ./src/app/app.module.ts
@ ./src/app/index.ts
@ ./src/main.browser.ts
@ multi (webpack)-dev-server/client?http://localhost:3000 ./src/main.browser.ts
Run Code Online (Sandbox Code Playgroud)
我卡在这里 我尝试了更多的东西,比如:
1. Removing node_modules
2. npm install --build-from-source
Run Code Online (Sandbox Code Playgroud)
但我仍然得到同样的错误.
任何建议或帮助将非常感激.
我们正在努力构建适用于 Windows 32 位和 64 位的应用程序。
\n\n它是 Angular 2 应用程序,使用 sqlite3 作为数据库。
\n\n开发中一切工作正常,但打包应用程序并在 Windows 上运行后,它会抛出错误
\n\nSQLite package has not been found installed. Try to install it: npm install sqlite3 --save\nRun Code Online (Sandbox Code Playgroud)\n\n这是 package.json (其中一部分对于这个问题很重要):
\n\n "scripts": {\n "build:aot:prod": "npm run clean:dist && npm run clean:aot && cross-env BUILD_AOT=1 npm run webpack -- --config config/webpack.prod.js --progress --profile --bail",\n "build:aot": "npm run build:aot:prod",\n "build:dev": "npm run clean:dist && npm run webpack -- --config config/webpack.dev.js --progress --profile",\n "build:docker": "npm run …Run Code Online (Sandbox Code Playgroud) 我有下一个情况.
在parameters集合中,我有一些文档,其中包含来自另一个集合的文档的groups值ids.这就像引用另一个集合的FOREIGN键.
在另一个集合中,我们有与'_ids'对应的文档,这些文档存储在main parameters集合中.
以下是来自parameters集合的一个示例文档:
{
"_id" : ObjectId("538726134ba2222c0c0248b6"),
"name" : "Potta",
"groups" : [
"54c91b2c4ba222182e636943"
]
}
Run Code Online (Sandbox Code Playgroud)
我需要按组排序,但正如您在主要集合组中看到的,值是ID,但我想按组名排序.
这是一个来自groups集合的样本集合.
{
"_id" : ObjectId("54c91b2c4ba222182e636943"),
"name" : "Group 01",
}
Run Code Online (Sandbox Code Playgroud)
这可能在Mongo DB中实现吗?
谢谢
我有一个包含字符串的数组,其中一些字符串包含点('.').
我必须重复一遍.我不想用str_replace做这个.
所以,我需要用下划线替换那些点.
例如:
for($data as $key=>$value){
print_r($value);
}
Run Code Online (Sandbox Code Playgroud)
让我们说输出如何:
'Hello. I have two dots. Please replace them!'
Run Code Online (Sandbox Code Playgroud)
我们希望得到的是:
'Hello_ I have two dots_ Please replace them!'
Run Code Online (Sandbox Code Playgroud)
提前致谢
angular ×3
electron ×2
mongodb ×2
ecmascript-6 ×1
javascript ×1
node-sqlite3 ×1
node.js ×1
php ×1