TypeScript构建使用common无法查找require

时间:2016-10-07 19:20:36

标签: angular systemjs

我一直在开发一个角度2应用程序,我从angular2 quickstart应用程序下载。当我运行并构建应用程序时,它显示需求未定义。

Uncaught ReferenceError: require is not defined

下面是我如何包含system.js

的代码
//index.html
<!DOCTYPE html>
<html>
 <head>
   <title>Angular QuickStart</title>
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1">
   <link rel="stylesheet" href="app/styles/main.css">

   <!-- Polyfill(s) for older browsers -->
   <script src="node_modules/core-js/client/shim.min.js"></script>
   <script src="node_modules/zone.js/dist/zone.js"></script>
   <script src="node_modules/reflect-metadata/Reflect.js"></script>
   <script src="node_modules/systemjs/dist/system.src.js"></script>

   <script src="systemjs.config.js"></script>
   <script>
     System.import('app').catch(function(err){ console.error(err); });
   </script>

1 个答案:

答案 0 :(得分:2)

当您尝试使用commonjs构建并尝试使用systemjs加载程序加载时会发生这种情况。在你tsconfig.json中将模块更改为system。

我的tsconfig.json如下。

{
  "compilerOptions": {
    "target": "es5",
    "module": "system",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": true,
    "suppressImplicitAnyIndexErrors": true

  }
}