每当我构建要服务的项目时,我都必须执行三个脚本:
npm run build:local //calls tsc to compile ts into js files
npm run build:webpack //invokes webpack to bundle js files into one minified file
npm run serve //runs my lite-server to preview files
Run Code Online (Sandbox Code Playgroud)
我想按顺序运行这些命令:
npm run build:local && npm run build:webpack && npm run serve
Run Code Online (Sandbox Code Playgroud)
但是,由于需要在我的ts文件中包含一些JQuery,我在npm run build:local抛出时会收到错误Cannot find name '$'.但是,我的代码仍会编译它,并且该行对我的项目至关重要,所以它需要在那里(现在).该错误会停止脚本的顺序执行.有没有办法忽略错误并继续执行链?
我正在开发Angular2项目,并创建了一个用作我的主要Component类的类:
import { Component, OnInit} from '@angular/core';
import { submitService } from './Common-functions/submit.service';
@Component({
selector: 'my-app',
template: `htmlCode`
})
export class AppComponent implements OnInit{
hideTable = true;
lengthOfRecords = 0;
lowerLimit = 0;
upperLimit = 5;
prevButtonDisabled = true;
nextButtonDisabled = false;
//User inputs
constructor(private sService:submitService) { }
ngOnInit() {
public submitToJSON() {
//SumbitJSON Object
var submitJSON = {
//inputData
};
this.sService.POST(submitJSON);
}
public returnDetails() {
this.listOfIDs = {//ListData};
this.hideTable = false;
var keys = Object.keys(this.listOfIDs);
var len = keys.length; …Run Code Online (Sandbox Code Playgroud) 我编写了一个函数,如果选择了某个选项,则使用此方法更新输入上的验证器规则(表单是使用 FormGroup 构建的):
onValueChanged(data : any) {
let appVIP1 = this.vip1TabForm.get('option1');
let appVIP2 = this.vip2TabForm.get('option2');
let appVIP3 = this.vip3TabForm.get('option3');
//Set required validation if data is 'option3'
if(data != 'option3') {
//Due to initialization errors in UI, need to start with the case
//That there are validations, check to remove them
appVIP1.setValidators([]);
appVIP2.setValidators([]);
appVIP3.setValidators([]);
}
else {
appVIP1.setValidators([Validators.required]);
appVIP2.setValidators([Validators.required]);
appVIP3.setValidators([Validators.required]);
}
}
Run Code Online (Sandbox Code Playgroud)
我将该函数调用绑定到单选按钮上的单击事件(我最初使用了此答案中的指南,但 onChange 函数未正确绑定)。
这非常有效,如果用户选择选项 1 或 2,验证将为空,并且不会被触发。如果他们选择选项 3,则会显示验证并停止提交。但是,我遇到了用户提交、看到错误并返回更改选项 1 或 2 的问题。虽然验证器被清除,但我的表单仍然显示为无效。我正在验证多个输入字段,因此如果以这种方式删除验证器,我不能将表单设置为有效。我该怎么做呢?我可以删除has-error表单组中某一特定字段的 吗?
由于在开发项目时学习了Angular 2,我没有采用我应该具备的路由.我有一个main.js文件引导一个组件,另一个main2.js文件引导第二个组件(我现在知道我应该从一个页面路由它们,但我们在项目中很远,它会导致一个备份((必要时会这样做)).我正在尝试使用webpack捆绑"可加载性"的代码(sp?).
这是我的webpack.config.js文件:
var path = require( 'path' );
var webpack = require( 'webpack' );
module.exports = {
entry: "./main",
output: {
path: __dirname,
filename: "./dist/bundle.js"
},
resolve: {
extensions: ['.js', '.ts']
},
module: {
loaders: [{
test: /\.ts/, loaders: ['ts-loader'], exclude: /node_modules/
}]
}
};
Run Code Online (Sandbox Code Playgroud)
是否可以定义两个入口点,如下所示:
var path = require( 'path' );
var webpack = require( 'webpack' );
module.exports = {
entry: "./main",
output: {
path: __dirname,
filename: "./dist/bundle.js"
},
resolve: {
extensions: ['.js', '.ts']
},
module: {
loaders: …Run Code Online (Sandbox Code Playgroud)