Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何解决ParseError:';导入&x27;和';出口';只能与';sourceType:module';导入UpgradeAdapter时?_Angularjs_Angular_Typescript_Browserify_Tsify - Fatal编程技术网

Angularjs 如何解决ParseError:';导入&x27;和';出口';只能与';sourceType:module';导入UpgradeAdapter时?

Angularjs 如何解决ParseError:';导入&x27;和';出口';只能与';sourceType:module';导入UpgradeAdapter时?,angularjs,angular,typescript,browserify,tsify,Angularjs,Angular,Typescript,Browserify,Tsify,我正在尝试将现有的anguar.js应用程序升级到angular 2,如下所示 该应用程序已经用Typescript编写,我们正在使用browserify和tsify编译和绑定该应用程序 在使用npm安装angular 2 dependencies并尝试引导混合应用程序后,browserify给了我以下错误: /my-project/node_modules/@angular/upgrade/static.js:8 export { downgradeComponent } from './sr

我正在尝试将现有的anguar.js应用程序升级到angular 2,如下所示

该应用程序已经用Typescript编写,我们正在使用browserify和tsify编译和绑定该应用程序

在使用npm安装angular 2 dependencies并尝试引导混合应用程序后,browserify给了我以下错误:

/my-project/node_modules/@angular/upgrade/static.js:8
export { downgradeComponent } from './src/aot/downgrade_component';
^
ParseError: 'import' and 'export' may appear only with 'sourceType: module'
该错误仅在添加以下代码后显示:

import {platformBrowserDynamic} from '@angular/platform-browser-dynamic';
import {AppModule} from './app.module';
import {UpgradeModule} from '@angular/upgrade/static';

platformBrowserDynamic().bootstrapModule(AppModule).then(platformRef => {
    const upgrade = platformRef.injector.get(UpgradeModule) as UpgradeModule;
    upgrade.bootstrap(document.documentElement, ['sagaDesktopApp']);
});
这是我的
tsconfig.json

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

非常感谢您的帮助。

我已经重现了这个问题。这与
@angular/upgrade
中有一个
static.js
文件有关,当Browserify尝试解析
@angular/upgrade/static
时,它解析为:

node_modules/@angular/upgrade/static.js
然而,其目的是决心:

node_modules/@angular/upgrade/static/package.json
static
目录中的
package.json
包含一个
main
条目,供Browserify等非ES6捆绑包使用

Browserify Simics应该在目录之前检查文件,因此要解决此问题,请在导入后附加一个斜杠:

从'@angular/upgrade/static/'导入{UpgradeModule};
然后Browserify将首先检查目录,并将
package.json
解析为捆绑包


如果您感兴趣,这里有关于
package.json
文件的
main
/
模块的更多信息。

非常感谢!追加斜杠修复了它:-)