AngularJS,gulp,typescript:如何没有.ts和.js乱丢同一个目录?

时间:2016-12-09 00:54:00

标签: angularjs typescript gulp

我正在从他们的编程指南中探索Angular2示例。一个例子是the Angular2 Routing tutorial提供的代码。代码本身并不重要,它在我的编译环境中适用于我。

我遇到的问题是,Typescript和Javascript文件最终都在同一目录中。 例如,我在同一个地方都有app.module.ts和app.module.js。我想将已编译的文件与源Typescript文件分开。

这是我的typescript.json文件:

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": true,
    "suppressImplicitAnyIndexErrors": true
  },
  "exclude": [
    "node_modules/*",
    "aot/*",
    "app/*-aot.ts"
  ]
}

在我的index.html中,我有<base href="/">和一些<script src="path/myfile.js"></script>个引用。我希望不必改变这些。

谢谢, 杰罗姆。

1 个答案:

答案 0 :(得分:0)

使用“outDir”指定输出文件的去向。

如果您使用的是vs-code editor&amp;不想设置outDir,你可以使用以下设置

EditText client;
Spinner spnr;

TextView alert;
Button recharge;
Button cancel;
String[] packages = {
        "W25",
        "W50",
        "W100",
        "W150",
        "M75",
        "M120",
        "M200",
        "M240",
};


/**
 * Called when the activity is first created.
 */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_recharge);

    cancel = (Button) findViewById(R.id.btcancel);
    cancel.setOnClickListener(new View.OnClickListener() {
        public void onClick(View arg0) {

            Intent login = new Intent(getApplicationContext(), MainActivity.class);

            startActivity(login);
            finish();
        }

    });


    client = (EditText) findViewById(R.id.client);
    //plan = (EditText) findViewById(R.id.plan);
    alert = (TextView) findViewById(R.id.alertrecharge);
    recharge = (Button) findViewById(R.id.btrecharge);
    spnr = (Spinner)findViewById(R.id.spinner);
    SpinnerWithPadding = (Spinner)findViewById(R.id.spinner);
    ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(
            this,R.layout.simple_spinner_item,packages );

    spinnerArrayAdapter.setDropDownViewResource(R.layout.simple_spinner_item);

    SpinnerWithPadding.setAdapter(spinnerArrayAdapter);

    recharge.setOnClickListener(new View.OnClickListener() {

        public void onClick(View view) {

            if ((!client.getText().toString().equals(""))) {
                NetAsync(view);
            } else if ((!client.getText().toString().equals(""))) {
                Toast.makeText(getApplicationContext(),
                        "Plan field empty", Toast.LENGTH_SHORT).show();
            } else {
                Toast.makeText(getApplicationContext(),
                        "Phone number field empty", Toast.LENGTH_SHORT).show();
            }
        }
    });
}