2

In my angular 2 project i used SEO when i include ng2 timeout plugin and run the Project using 'npm start' i got this error

ts-node src/server.ts

(function (exports, require, module, __filename, __dirname) { export { ShTimeoutModule } from "./src/timeout.module";
                                                              ^^^^^^
SyntaxError: Unexpected token export
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:542:28)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (E:\project\src\app\app.module.ts:28:1)

npm ERR! Windows_NT 6.3.9600
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "start"
npm ERR! node v6.11.1
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! project@0.0.0 start: `ts-node src/server.ts`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the project@0.0.0 start script 'ts-node src/server.ts'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the project package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     ts-node src/server.ts
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs project
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls project
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
Rakesh Chand
  • 3,105
  • 1
  • 20
  • 41
Aravinthan M
  • 835
  • 1
  • 9
  • 24

1 Answers1

2

replace you ts-node with node where ever you're using and install webpack

add this in you package.json

"prestart": "ng build --prod --no-sourcemap && ngc && webpack",
"start": "node dist/server.js"

Create a webpack.config.js at package.json level and following content

const path = require('path');
const webpack = require('webpack');
const nodeExternals = require('webpack-node-externals');
module.exports = {
    entry: {
        server: './src/server.ts'
    },
    resolve: {
        extensions: ['.ts', '.js']
    },
    target: 'node',    
    plugins: [
    new webpack.NormalModuleReplacementPlugin(/\.\.\/environments\/environment/, '../environments/environment.prod')
    ],
    externals: [nodeExternals({
        whitelist: [
        /^ng2-timeout/
        ]
    })],
    node: {
        __dirname: true
    },
    output: {
        path: path.join(__dirname, 'dist'),
        filename: '[name].js'
    },
    module: {
        rules: [
        { test: /\.ts$/, loader: 'ts-loader' }
        ]
    }
}

add all other libraries in whitelist of externals which are causing errors.

And do npm start

follow this issue for more detailed explanation and solutions https://github.com/ngx-translate/core/issues/581

Rakesh Chand
  • 3,105
  • 1
  • 20
  • 41
  • I tried ths but i error like this " Error: Cannot find module 'webpack-node-externals' " – Aravinthan M Sep 08 '17 at 10:05
  • you need to install that `npm install webpack-node-externals --save-dev` – Rakesh Chand Sep 08 '17 at 10:07
  • yup installed but having this error while running the project by npm start --ERROR in Entry module not found: Error: Can't resolve 'ts-loader' in 'E:\newpre\Project' – Aravinthan M Sep 08 '17 at 10:13
  • `npm install ts-loader --save-dev`, for other same errors also please install them first – Rakesh Chand Sep 08 '17 at 10:15
  • again some unknown error like this - ERROR in ./src/app/service/cognito.service.ts Module not found: Error: Can't resolve '../environments/environment.prod' in 'E:\newpre\Backup\Praba_07-09-2017 v2.0\premierx\src\app\service' @ ./src/app/service/cognito.service.ts 10:20-61 @ ./dist/ngfactory/src/app/app.server.module.ngfactory.ts @ ./src/server.ts – Aravinthan M Sep 08 '17 at 10:34
  • In before i am not getting that error now only i got this... ok i will try to fix it – Aravinthan M Sep 08 '17 at 10:43
  • do you have a environments folder ? – Rakesh Chand Sep 08 '17 at 10:43
  • and before this whatever error you were getting you could not possibley solve that just by `ts-node` so you done good improvements by using webpack now it's different issue – Rakesh Chand Sep 08 '17 at 10:45
  • it should be be outside app folder, see this repo and modify your code accordingly https://github.com/SergiusSidorov/cli-universal-demo – Rakesh Chand Sep 08 '17 at 10:46
  • Let us [continue this discussion in chat](http://chat.stackoverflow.com/rooms/153942/discussion-between-aravinthan-m-and-rakeschand). – Aravinthan M Sep 08 '17 at 10:47
  • yup moved to outside but same problem – Aravinthan M Sep 08 '17 at 10:50
  • okay download the repo link i sent you, see how it is done in that and follow same for your app too – Rakesh Chand Sep 08 '17 at 10:51