-
Notifications
You must be signed in to change notification settings - Fork 518
Update to Angular 4.0.0 #800
Comments
Still a few things to work out in the integration, but here's what I have so far with .NET and Angular 4. I've started work in this repo (https://github.com/MarkPieszak/aspnetcore-angular2-universal) for now, but imagine it'll get into here soon enough |
Wow! Thanks @MarkPieszak Wrongly assumed it was essentially a package update, with v2 to v4 meant to be basically non breaking |
Yeah it's quite a bit more, also starting the process differently (now in the Controller) so that we can give .NET the other essential SEO data. Of course, if you don't care about server rendering, you can just shut it off and update to 4.0 real easily :) |
Fantastic! Just had to change the port number in fetchdata.components.ts from http://localhost:5000/api/test/users to http://localhost:1780/api/test/users to get the fetch-data sample working. |
Yes so that eventually that'll be set dynamically from the server wth DI, going into Angular, just one of the improvements needed! |
After upgrading to Ang4 i get this error hile runnign webpack on webpack.config file:
Any idea? Than kyou. |
You actually can't just update the current project here to Angular4 my apologies. It takes re shifting and removing a lot a lot of things, pull down that branch I pointed to @skorunka and try to port your app to it. Honestly though I'd suggest waiting a little bit until it's more cleaned up! |
@MarkPieszak No worries, I understand. Thank you for advice, i will give it a try. |
AOT @starquake , sorry. |
@seven1986 I'm sorry, what does 'AOT' mean? |
@MarkPieszak Will you let us know here when you've done? |
@MarkPieszak For angular 4 branch you pointed is still using es6-shim. Is there any plan to update it to core-js? |
Sure, I'll ping everyone when it's all finished. @bm-software For now that branch is bare bones but sometime in the next few days I'm hoping I can find a good bunch of hours where I can focus on it and get it into Masters with everyone fixed up in it. |
@MarkPieszak You are our hero! |
@starquake , Ahead of time compilation. I'm a noob, but essentially precompiling the entire angular app before even hosting on a server. It increases performance since the angular compiler no longer needs to render the templates. It also offers a feature called tree-shaking that reduces the size of bundles since the UI is rendered during compilation and things not used are not included. |
@MarkPieszak do you plan to include angular-cli into the template? If so, are you going to use AoT and other functionality from angular-cli? I'm asking because angular2 template had some custom functionality which is now supported by official angular-cli |
The problem is that because we are trying to do server side pre-rendering, this breaks away from the use-case of the CLI. The CLI is helpful if you just want a normal client side application and your Rest API is a separate all together entity. Here, the goal is to unify them and .NET be aware of the application as well as aid in serializing it to a string (thus giving us the Prerender ability, since that's only available through Node, and Steve created an incredibly easy way to invoke node within .net core) AoT will definitely be a part of the template as well, I haven't talked with @SteveSandersonMS yet about the plans for having it here as well, but once I clean a few things up i could make a PR to include it Steve? At the end of the day the only thing we'll be missing compared to the CLI is the generators, but you could write those in just about any scripting language, even something as easy as Gulp if you wanted to write one. |
For me actually the most missing feature in JSS is ability to use generators. It's possible to quickly create some custom generators but they will need to be updated to reflect changes in cli, etc. So if it's possible to reuse at least generators parts that would be great even if we will miss such things like 'ng serve'. |
Any updates ? |
It's all in here at the moment, I'm working on AoT in a different branch but having some strange issues (might be ngtools related). It has dev & regular prod builds though, and most other things all work now. You could take it and just drop your Hopefully have even more done today/tomorrow as ngConf starts tomorrow. @AndeyR |
@MarkPieszak Thank you ) |
@MarkPieszak great news!!! Starting a new project soon and I can´t wait to use the new templates for Angular 4 TIA, |
@MarkPieszak Hi, could you please be more specific on how to migrate the previous version into this new one? For example, I don't know what to do with "webpack.config.vendor.js". Thank you. |
I'll have to add those (or some variation of them) back in, I was just keeping things simpler as I was trying to update everything. Getting some small issues with AoT. Takes time to get all this in there & working perfectly. Honestly I'd wait a little bit unless you want to experience some growing pains as it evolves. Still trying to get a few things working, thankfully there's a few contributors helping with things here and there as well. There's a lot to figure out. |
@MarkPieszak I see, I will wait with the upgrade until it is done. Thank you. |
@SteveSandersonMS PR #953 has been created with the polyfills to fix this issue in IE. |
Yes those appear in lower IEs unless you have the correct polyfills from core-js. It'd be a good idea to include them (but leave them commented out, as not everyone needs lower than IE11, as it increases bundle size) |
@MarkPieszak I get the error in IE 11 on Windows 7. Not sure if it should work without them in that browser version or not. |
That's usually the evergreen polyfills that's usually needed, I think you're right! |
In this PR (#952) I am able to make my IE issue go away just by including:
at the top of boot-client.ts. Isn't core-js already included by Angular? |
It's not included, as trimming down package size is important, but adding that client/shim can get it to work yes! More details here: https://angular.io/docs/ts/latest/guide/browser-support.html |
I was able to add the client/shim reference and it worked. I also removed all references to core-js and it's still in my node_modules folder after running |
Hello, I can't seem to figure this out (how to replace angular2-universal-polyfills/browser with core-js/shim polyfills)? I try to reference core-js/shim in the boot-client.ts but it doesn't recognize it and i find that my core-js folder doesn't have a shim sub-directory. When I try to install lates of core-js it says it's dependent on zone.js but I have the correct zone.js. Please let me know if and how you resolved these things to upgrade to Angular 4. My boot-client.ts file is as follows: import "core-js/es6"; // Boot the application, either now or when the DOM content is loaded Thank you, Colleen |
@cbcolleenb I use a separate polyfills.ts file with the following contents.
I then import that at the very top of the boot-client.ts. I'm wondering if perhaps the order of the imports is causing you issues. Also, what do you have in your webpack.config.vendor.js file? |
Hi Adam, thanks for the quick response...my webpack.config.vendor.js file
has the following:
var isDevBuild = process.argv.indexOf('--env.prod') < 0;
var path = require('path');
var webpack = require('webpack');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var extractCSS = new ExtractTextPlugin('vendor.css');
module.exports = {
node: {
fs: 'empty'
},
resolve: {
extensions: ['*', '.ts', '.js']
},
module: {
loaders: [
{ test: /\.(png|woff|woff2|eot|ttf|svg)(\?|$)/, loader:
'url-loader?limit=100000' },
{ test: /\.css(\?|$)/, loader:
extractCSS.extract(['css-loader']) }
]
},
entry: {
vendor: [
'reflect-metadata',
'rxjs',
'zone.js',
'@angular/common',
'@angular/compiler',
'@angular/core',
'@angular/forms',
'@angular/http',
'@angular/platform-browser',
'@angular/platform-browser-dynamic',
'@angular/router',
'systemjs',
"acorn"
]
},
output: {
path: path.join(__dirname, 'wwwroot', 'dist'),
filename: '[name].js',
library: '[name]_[hash]',
},
plugins: [
extractCSS,
new webpack.ProvidePlugin({
$: 'jquery', jQuery: 'jquery'
}), // Maps these identifiers to the jQuery package (because
Bootstrap expects it to be a global variable)
//new webpack.optimize.OccurrenceOrderPlugin(),
new webpack.DllPlugin({
path: path.join(__dirname, 'wwwroot', 'dist',
'[name]-manifest.json'),
name: '[name]_[hash]'
})
].concat(isDevBuild ? [] : [
new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false }
})
])
};
I'm going to try your polyfill.ts .
Thanks!
Colleen
…On Mon, Sep 25, 2017 at 2:33 PM, Adam Amrine ***@***.***> wrote:
@cbcolleenb <https://github.com/cbcolleenb> I use a separate polyfills.ts
file with the following contents.
/** IE9, IE10 and IE11 requires all of the following polyfills. **/
import 'core-js/es6/symbol';
import 'core-js/es6/object';
import 'core-js/es6/function';
import 'core-js/es6/parse-int';
import 'core-js/es6/parse-float';
import 'core-js/es6/number';
import 'core-js/es6/math';
import 'core-js/es6/string';
import 'core-js/es6/date';
import 'core-js/es6/array';
import 'core-js/es6/regexp';
import 'core-js/es6/map';
import 'core-js/es6/set';
/** Evergreen browsers require these. **/
import 'core-js/es6/reflect';
import 'core-js/es7/reflect';
import 'zone.js';
I then import that at the very top of the boot-client.ts. I'm wondering if
perhaps the order of the imports is causing you issues. Also, what do you
have in your webpack.config.vendor.js file?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#800 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AS0dkto5sqkW14QMCDFg4K-N92FmDcYuks5sl__-gaJpZM4Mo5ff>
.
|
also, this is my tsconfig.json:
{
"compilerOptions": {
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"lib": [ "es6", "dom" ],
"module": "es2015",
"moduleResolution": "node",
"noImplicitAny": false,
"sourceMap": true,
"suppressImplicitAnyIndexErrors": true,
"target": "es5"
},
"types": [ "node", "core-js" ],
"exclude": [
"node_modules/*"
],
"atom": { "rewriteTsconfig": false }
}
and package.json:
{
"name": "Angular2Spa",
"version": "0.0.0",
"license": "UNLICENSED",
"dependencies": {
"@angular/common": "^4.4.3",
"@angular/compiler": "^4.4.3",
"@angular/core": "^4.4.3",
"@angular/forms": "^4.4.3",
"@angular/http": "^4.4.3",
"@angular/platform-browser": "^4.4.3",
"@angular/platform-browser-dynamic": "^4.4.3",
"@angular/platform-server": "4.4.3",
"@angular/router": "^4.4.3",
"@angular/animations": "^4.4.3",
"acorn": "^0.8.0",
"core-js": "^2.5.1",
"enhanced-resolve": "^3.0.2",
"extract-text-webpack-plugin": "^3.0.0",
"npm": "^5.0.3",
"systemjs": "^0.19.47",
"uglify-js": "^2.8.29",
"babel-loader": "^7.1.1",
"babel-core": "6.26.0",
"file-loader": "^0.11.2",
"postcss-loader": "^2.0.6",
"style-loader": "^0.18.2",
"webpack": "^3.2.0",
"webpack-node-externals": "1.6.0",
"webpack-merge": "4.1.0",
"ts-loader": "2.3.7",
"raw": "0.1.4",
"to-string": "0.2.0",
"bootstrap": "3.3.7",
"css-loader": "0.28.7",
"raw-loader": "0.5.1",
"jquery": "3.2.1",
"zone.js": "^0.8.17",
"reflect-metadata": "0.1.10",
"@progress/telerik-angular-report-viewer": "2.17.913"
},
"devDependencies": {
"@angular/compiler-cli": "4.4.3",
"rxjs": "^5.2.0",
"@types/node": "^6.0.60",
"concurrently": "^3.1.0",
"lite-server": "^2.3.0",
"typescript": "^2.2.2"
}
}
thanks,
Colleen
…On Mon, Sep 25, 2017 at 2:40 PM, Colleen ***@***.***> wrote:
Hi Adam, thanks for the quick response...my webpack.config.vendor.js file
has the following:
var isDevBuild = process.argv.indexOf('--env.prod') < 0;
var path = require('path');
var webpack = require('webpack');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var extractCSS = new ExtractTextPlugin('vendor.css');
module.exports = {
node: {
fs: 'empty'
},
resolve: {
extensions: ['*', '.ts', '.js']
},
module: {
loaders: [
{ test: /\.(png|woff|woff2|eot|ttf|svg)(\?|$)/, loader:
'url-loader?limit=100000' },
{ test: /\.css(\?|$)/, loader: extractCSS.extract(['css-loader'])
}
]
},
entry: {
vendor: [
'reflect-metadata',
'rxjs',
'zone.js',
***@***.***/common',
***@***.***/compiler',
***@***.***/core',
***@***.***/forms',
***@***.***/http',
***@***.***/platform-browser',
***@***.***/platform-browser-dynamic',
***@***.***/router',
'systemjs',
"acorn"
]
},
output: {
path: path.join(__dirname, 'wwwroot', 'dist'),
filename: '[name].js',
library: '[name]_[hash]',
},
plugins: [
extractCSS,
new webpack.ProvidePlugin({
$: 'jquery', jQuery: 'jquery'
}), // Maps these identifiers to the jQuery package (because
Bootstrap expects it to be a global variable)
//new webpack.optimize.OccurrenceOrderPlugin(),
new webpack.DllPlugin({
path: path.join(__dirname, 'wwwroot', 'dist',
'[name]-manifest.json'),
name: '[name]_[hash]'
})
].concat(isDevBuild ? [] : [
new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false
} })
])
};
I'm going to try your polyfill.ts .
Thanks!
Colleen
On Mon, Sep 25, 2017 at 2:33 PM, Adam Amrine ***@***.***>
wrote:
> @cbcolleenb <https://github.com/cbcolleenb> I use a separate
> polyfills.ts file with the following contents.
>
> /** IE9, IE10 and IE11 requires all of the following polyfills. **/
> import 'core-js/es6/symbol';
> import 'core-js/es6/object';
> import 'core-js/es6/function';
> import 'core-js/es6/parse-int';
> import 'core-js/es6/parse-float';
> import 'core-js/es6/number';
> import 'core-js/es6/math';
> import 'core-js/es6/string';
> import 'core-js/es6/date';
> import 'core-js/es6/array';
> import 'core-js/es6/regexp';
> import 'core-js/es6/map';
> import 'core-js/es6/set';
>
> /** Evergreen browsers require these. **/
> import 'core-js/es6/reflect';
> import 'core-js/es7/reflect';
>
> import 'zone.js';
>
> I then import that at the very top of the boot-client.ts. I'm wondering
> if perhaps the order of the imports is causing you issues. Also, what do
> you have in your webpack.config.vendor.js file?
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#800 (comment)>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AS0dkto5sqkW14QMCDFg4K-N92FmDcYuks5sl__-gaJpZM4Mo5ff>
> .
>
|
@cbcolleenb Try the polyfills.ts first and see if that works for you. |
@cbcolleenb Take a look at how I implemented it here: https://github.com/emonney/QuickApp/blob/master/src/QuickApp/ClientApp/boot.browser.ts |
Hi, after using polyfills.ts and removing the other references I had, I got
a new error: "Uncaught TypeError: n.replace is not a function
at Ie (vendor.js?v=cF-oRSzI7zKtOJYCqo4-VM3BFrYBGvp2TIrRTJXoo80:453)
at vendor.js?v=cF-oRSzI7zKtOJYCqo4-VM3BFrYBGvp2TIrRTJXoo80:551
at Array.map (<anonymous>)
at t.normalizeStylesheet
(vendor.js?v=cF-oRSzI7zKtOJYCqo4-VM3BFrYBGvp2TIrRTJXoo80:551)
at t.normalizeLoadedTemplate
(vendor.js?v=cF-oRSzI7zKtOJYCqo4-VM3BFrYBGvp2TIrRTJXoo80:551)
at vendor.js?v=cF-oRSzI7zKtOJYCqo4-VM3BFrYBGvp2TIrRTJXoo80:551
at Object.then
(vendor.js?v=cF-oRSzI7zKtOJYCqo4-VM3BFrYBGvp2TIrRTJXoo80:523)
at t.normalizeTemplateOnly
(vendor.js?v=cF-oRSzI7zKtOJYCqo4-VM3BFrYBGvp2TIrRTJXoo80:551)
at t.normalizeTemplate
(vendor.js?v=cF-oRSzI7zKtOJYCqo4-VM3BFrYBGvp2TIrRTJXoo80:551)
at t.loadDirectiveMetadata
(vendor.js?v=cF-oRSzI7zKtOJYCqo4-VM3BFrYBGvp2TIrRTJXoo80:572)
…On Mon, Sep 25, 2017 at 2:50 PM, Adam Amrine ***@***.***> wrote:
@cbcolleenb <https://github.com/cbcolleenb> Try the polyfills.ts first
and see if that works for you.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#800 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AS0dkkoiAWXAFJLzJLpu3y7y3-1m6sdfks5smAQcgaJpZM4Mo5ff>
.
|
Hi, I looked at your code.. I had tried import 'core-js/client/shim';
before, but my version of core-js must not have shim as i couldn't find a
shim sub-directory.
Thanks,
Colleen
…On Mon, Sep 25, 2017 at 2:51 PM, Ebenezer Monney ***@***.***> wrote:
Take a look at how I implemented it here: https://github.com/emonney/
QuickApp/blob/master/src/QuickApp/ClientApp/boot.browser.ts
Using core.js sim.
The project is based off this repo.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#800 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AS0dkp0FMEwP5ZmDp51bMWAiPEoGGUkzks5smARPgaJpZM4Mo5ff>
.
|
Have you rebuilt your vendor.js file recently?
…On Mon, Sep 25, 2017 at 4:02 PM, Colleen ***@***.***> wrote:
Hi, I looked at your code.. I had tried import 'core-js/client/shim';
before, but my version of core-js must not have shim as i couldn't find a
shim sub-directory.
Thanks,
Colleen
On Mon, Sep 25, 2017 at 2:51 PM, Ebenezer Monney ***@***.***
>
wrote:
> Take a look at how I implemented it here: https://github.com/emonney/
> QuickApp/blob/master/src/QuickApp/ClientApp/boot.browser.ts
> Using core.js sim.
> The project is based off this repo.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#800#
issuecomment-331992706>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/
AS0dkp0FMEwP5ZmDp51bMWAiPEoGGUkzks5smARPgaJpZM4Mo5ff>
> .
>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#800 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AGDtPf8TvDoRhEX64XEb3ZaTJoxz_9nmks5smAbrgaJpZM4Mo5ff>
.
|
it seems to build when I publish it.. is there an explicit way to re-build
vendor?
On Mon, Sep 25, 2017 at 3:06 PM, Adam Amrine <[email protected]>
wrote:
… Have you rebuilt your vendor.js file recently?
On Mon, Sep 25, 2017 at 4:02 PM, Colleen ***@***.***> wrote:
> Hi, I looked at your code.. I had tried import 'core-js/client/shim';
> before, but my version of core-js must not have shim as i couldn't find a
> shim sub-directory.
> Thanks,
> Colleen
>
> On Mon, Sep 25, 2017 at 2:51 PM, Ebenezer Monney <
***@***.***
> >
> wrote:
>
> > Take a look at how I implemented it here: https://github.com/emonney/
> > QuickApp/blob/master/src/QuickApp/ClientApp/boot.browser.ts
> > Using core.js sim.
> > The project is based off this repo.
> >
> > —
> > You are receiving this because you were mentioned.
> > Reply to this email directly, view it on GitHub
> > <#800#
> issuecomment-331992706>,
> > or mute the thread
> > <https://github.com/notifications/unsubscribe-auth/
> AS0dkp0FMEwP5ZmDp51bMWAiPEoGGUkzks5smARPgaJpZM4Mo5ff>
>
> > .
> >
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#800#
issuecomment-331995634>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/
AGDtPf8TvDoRhEX64XEb3ZaTJoxz_9nmks5smAbrgaJpZM4Mo5ff>
> .
>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#800 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AS0dkuICvkAcWJ2mfEjgjQJhAV2lpputks5smAesgaJpZM4Mo5ff>
.
|
I believe it's `webpack --config webpack.config.vendor.js`. You have to run
it from the command line in the directory that your
webpack.config.vendor.js file is in.
…On Mon, Sep 25, 2017 at 4:08 PM, Colleen ***@***.***> wrote:
it seems to build when I publish it.. is there an explicit way to re-build
vendor?
On Mon, Sep 25, 2017 at 3:06 PM, Adam Amrine ***@***.***>
wrote:
> Have you rebuilt your vendor.js file recently?
>
> On Mon, Sep 25, 2017 at 4:02 PM, Colleen ***@***.***>
wrote:
>
> > Hi, I looked at your code.. I had tried import 'core-js/client/shim';
> > before, but my version of core-js must not have shim as i couldn't
find a
> > shim sub-directory.
> > Thanks,
> > Colleen
> >
> > On Mon, Sep 25, 2017 at 2:51 PM, Ebenezer Monney <
> ***@***.***
> > >
> > wrote:
> >
> > > Take a look at how I implemented it here:
https://github.com/emonney/
> > > QuickApp/blob/master/src/QuickApp/ClientApp/boot.browser.ts
> > > Using core.js sim.
> > > The project is based off this repo.
> > >
> > > —
> > > You are receiving this because you were mentioned.
> > > Reply to this email directly, view it on GitHub
> > > <#800#
> > issuecomment-331992706>,
> > > or mute the thread
> > > <https://github.com/notifications/unsubscribe-auth/
> > AS0dkp0FMEwP5ZmDp51bMWAiPEoGGUkzks5smARPgaJpZM4Mo5ff>
> >
> > > .
> > >
> >
> > —
> > You are receiving this because you were mentioned.
> > Reply to this email directly, view it on GitHub
> > <#800#
> issuecomment-331995634>,
> > or mute the thread
> > <https://github.com/notifications/unsubscribe-auth/
> AGDtPf8TvDoRhEX64XEb3ZaTJoxz_9nmks5smAbrgaJpZM4Mo5ff>
>
> > .
> >
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#800#
issuecomment-331996501>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/
AS0dkuICvkAcWJ2mfEjgjQJhAV2lpputks5smAesgaJpZM4Mo5ff>
> .
>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#800 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AGDtPbat3sIptVQZuDjsNo27Ykaej3qsks5smAhYgaJpZM4Mo5ff>
.
|
oh ok.. the application does this when I publish, so i have been building
it by publishing
On Mon, Sep 25, 2017 at 3:13 PM, Adam Amrine <[email protected]>
wrote:
… I believe it's `webpack --config webpack.config.vendor.js`. You have to run
it from the command line in the directory that your
webpack.config.vendor.js file is in.
On Mon, Sep 25, 2017 at 4:08 PM, Colleen ***@***.***> wrote:
> it seems to build when I publish it.. is there an explicit way to
re-build
> vendor?
>
>
> On Mon, Sep 25, 2017 at 3:06 PM, Adam Amrine ***@***.***>
> wrote:
>
> > Have you rebuilt your vendor.js file recently?
> >
> > On Mon, Sep 25, 2017 at 4:02 PM, Colleen ***@***.***>
> wrote:
> >
> > > Hi, I looked at your code.. I had tried import 'core-js/client/shim';
> > > before, but my version of core-js must not have shim as i couldn't
> find a
> > > shim sub-directory.
> > > Thanks,
> > > Colleen
> > >
> > > On Mon, Sep 25, 2017 at 2:51 PM, Ebenezer Monney <
> > ***@***.***
> > > >
> > > wrote:
> > >
> > > > Take a look at how I implemented it here:
> https://github.com/emonney/
> > > > QuickApp/blob/master/src/QuickApp/ClientApp/boot.browser.ts
> > > > Using core.js sim.
> > > > The project is based off this repo.
> > > >
> > > > —
> > > > You are receiving this because you were mentioned.
> > > > Reply to this email directly, view it on GitHub
> > > > <#800#
> > > issuecomment-331992706>,
> > > > or mute the thread
> > > > <https://github.com/notifications/unsubscribe-auth/
> > > AS0dkp0FMEwP5ZmDp51bMWAiPEoGGUkzks5smARPgaJpZM4Mo5ff>
> > >
> > > > .
> > > >
> > >
> > > —
> > > You are receiving this because you were mentioned.
> > > Reply to this email directly, view it on GitHub
> > > <#800#
> > issuecomment-331995634>,
> > > or mute the thread
> > > <https://github.com/notifications/unsubscribe-auth/
> > AGDtPf8TvDoRhEX64XEb3ZaTJoxz_9nmks5smAbrgaJpZM4Mo5ff>
> >
> > > .
> > >
> >
> > —
> > You are receiving this because you were mentioned.
> > Reply to this email directly, view it on GitHub
> > <#800#
> issuecomment-331996501>,
> > or mute the thread
> > <https://github.com/notifications/unsubscribe-auth/
> AS0dkuICvkAcWJ2mfEjgjQJhAV2lpputks5smAesgaJpZM4Mo5ff>
> > .
> >
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#800#
issuecomment-331997165>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/
AGDtPbat3sIptVQZuDjsNo27Ykaej3qsks5smAhYgaJpZM4Mo5ff>
> .
>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#800 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AS0dkmTZKnfXFwv1JV6SKqUQk0K_-2Grks5smAlWgaJpZM4Mo5ff>
.
|
I'm not sure if this helps, but here is my package.json. I wouldn't copy it verbatim or you'll get stuff you don't need and remove things you do.
Here is my webpack.config.vendor.js:
Is there a specific browser you're using? Have you tried other browsers? |
ok thanks! I'll look at it and get back tomorrow.
I've been using Chrome primarily but our company still uses IE11. The
ngFors are extremely slow in IE11, so that's why I upgraded to Angular4 and
better polyfills. I'm hoping this will solve the slowness problem. Did
you notice that?
…On Mon, Sep 25, 2017 at 3:22 PM, Adam Amrine ***@***.***> wrote:
I'm not sure if this helps, but here is my package.json. I wouldn't copy
it verbatim or you'll get stuff you don't need and remove things you do.
{
"name": "appname",
"version": "1.0.0",
"dependencies": {
***@***.***/animations": "^4.0.0",
***@***.***/common": "^4.0.0",
***@***.***/compiler": "^4.0.0",
***@***.***/core": "^4.0.0",
***@***.***/forms": "^4.0.0",
***@***.***/http": "^4.0.0",
***@***.***/platform-browser": "^4.0.0",
***@***.***/platform-browser-dynamic": "^4.0.0",
***@***.***/platform-server": "^4.0.0",
***@***.***/router": "^4.0.0",
***@***.***/node": "^7.0.12",
"angular2-template-loader": "^0.6.2",
"aspnet-webpack": "^1.0.17",
"awesome-typescript-loader": "^3.0.0",
"core-js": "^2.4.1",
"css": "^2.2.1",
"css-loader": "^0.28.0",
"es6-shim": "^0.35.3",
"es6-promise": "^4.1.0",
"event-source-polyfill": "^0.0.9",
"expose-loader": "^0.7.3",
"extract-text-webpack-plugin": "^2.1.0",
"file-loader": "^0.11.1",
"html-loader": "^0.4.5",
"json-loader": "^0.5.4",
"preboot": "^4.5.2",
"raw-loader": "^0.5.1",
"rxjs": "^5.3.0",
"style-loader": "^0.16.1",
"to-string-loader": "^1.1.5",
"typescript": "^2.2.2",
"url-loader": "^0.5.8",
"webpack": "^2.3.3",
"webpack-hot-middleware": "^2.18.0",
"webpack-merge": "^4.1.0",
"zone.js": "^0.8.5",
"font-awesome": "^4.7.0",
"ionicons": "^3.0.0",
"admin-lte": "^2.3.11"
}
}
Here is my webpack.config.vendor.js:
const path = require('path');
const webpack = require('webpack');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const merge = require('webpack-merge');
module.exports = (env) => {
const extractCSS = new ExtractTextPlugin('vendor.css');
const isDevBuild = !(env && env.prod);
const sharedConfig = {
stats: { modules: false },
resolve: { extensions: ['.js'] },
module: {
rules: [
{ test: /\.(jpg|png|woff|woff2|eot|ttf|svg)(\?|$)/, use: 'url-loader?limit=100000' }
]
},
entry: {
vendor: [
***@***.***/common',
***@***.***/compiler',
***@***.***/core',
***@***.***/forms',
***@***.***/http',
***@***.***/platform-browser',
***@***.***/platform-browser-dynamic',
***@***.***/router',
***@***.***/platform-server',
'admin-lte/bootstrap/css/bootstrap.css',
'admin-lte/dist/css/AdminLTE.css',
'admin-lte/dist/css/skins/skin-black.css',
'core-js',
'es6-shim',
'es6-promise',
'event-source-polyfill',
'font-awesome/css/font-awesome.css',
'ionicons/dist/css/ionicons.css',
//'jquery',
'zone.js',
]
},
output: {
publicPath: '/dist/',
filename: '[name].js',
library: '[name]_[hash]'
},
plugins: [
//new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery' }), // Maps these identifiers to the jQuery package (because Bootstrap expects it to be a global variable)
new ***@***.***/, path.join(__dirname, './ClientApp')),
new webpack.IgnorePlugin(/^vertx$/) // Workaround for stefanpenner/es6-promise#100
]
};
const clientBundleConfig = merge(sharedConfig, {
output: { path: path.join(__dirname, 'wwwroot', 'dist') },
module: {
rules: [
{ test: /\.css(\?|$)/, use: extractCSS.extract({ use: 'css-loader' }) }
]
},
plugins: [
extractCSS,
new webpack.DllPlugin({
path: path.join(__dirname, 'wwwroot', 'dist', '[name]-manifest.json'),
name: '[name]_[hash]'
})
].concat(isDevBuild ? [] : [
new webpack.optimize.UglifyJsPlugin()
])
});
return [clientBundleConfig];
}
Is there a specific browser you're using? Have you tried other browsers?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#800 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AS0dkguaCFwsKK7qHe6RVjoYA9XZXZ97ks5smAt8gaJpZM4Mo5ff>
.
|
Can you send your tsconfig.json and webpack.config.js? Your
webpack.config.vendor.js you sent before has some code that is in my
webpack.config.js
…On Mon, Sep 25, 2017 at 3:24 PM, Colleen ***@***.***> wrote:
ok thanks! I'll look at it and get back tomorrow.
I've been using Chrome primarily but our company still uses IE11. The
ngFors are extremely slow in IE11, so that's why I upgraded to Angular4 and
better polyfills. I'm hoping this will solve the slowness problem. Did
you notice that?
On Mon, Sep 25, 2017 at 3:22 PM, Adam Amrine ***@***.***>
wrote:
> I'm not sure if this helps, but here is my package.json. I wouldn't copy
> it verbatim or you'll get stuff you don't need and remove things you do.
>
> {
> "name": "appname",
> "version": "1.0.0",
> "dependencies": {
> ***@***.***/animations": "^4.0.0",
> ***@***.***/common": "^4.0.0",
> ***@***.***/compiler": "^4.0.0",
> ***@***.***/core": "^4.0.0",
> ***@***.***/forms": "^4.0.0",
> ***@***.***/http": "^4.0.0",
> ***@***.***/platform-browser": "^4.0.0",
> ***@***.***/platform-browser-dynamic": "^4.0.0",
> ***@***.***/platform-server": "^4.0.0",
> ***@***.***/router": "^4.0.0",
> ***@***.***/node": "^7.0.12",
> "angular2-template-loader": "^0.6.2",
> "aspnet-webpack": "^1.0.17",
> "awesome-typescript-loader": "^3.0.0",
> "core-js": "^2.4.1",
> "css": "^2.2.1",
> "css-loader": "^0.28.0",
> "es6-shim": "^0.35.3",
> "es6-promise": "^4.1.0",
> "event-source-polyfill": "^0.0.9",
> "expose-loader": "^0.7.3",
> "extract-text-webpack-plugin": "^2.1.0",
> "file-loader": "^0.11.1",
> "html-loader": "^0.4.5",
> "json-loader": "^0.5.4",
> "preboot": "^4.5.2",
> "raw-loader": "^0.5.1",
> "rxjs": "^5.3.0",
> "style-loader": "^0.16.1",
> "to-string-loader": "^1.1.5",
> "typescript": "^2.2.2",
> "url-loader": "^0.5.8",
> "webpack": "^2.3.3",
> "webpack-hot-middleware": "^2.18.0",
> "webpack-merge": "^4.1.0",
> "zone.js": "^0.8.5",
> "font-awesome": "^4.7.0",
> "ionicons": "^3.0.0",
> "admin-lte": "^2.3.11"
> }
> }
>
>
> Here is my webpack.config.vendor.js:
>
> const path = require('path');
> const webpack = require('webpack');
> const ExtractTextPlugin = require('extract-text-webpack-plugin');
> const merge = require('webpack-merge');
>
> module.exports = (env) => {
> const extractCSS = new ExtractTextPlugin('vendor.css');
> const isDevBuild = !(env && env.prod);
> const sharedConfig = {
> stats: { modules: false },
> resolve: { extensions: ['.js'] },
> module: {
> rules: [
> { test: /\.(jpg|png|woff|woff2|eot|ttf|svg)(\?|$)/, use: 'url-loader?limit=100000' }
> ]
> },
> entry: {
> vendor: [
> ***@***.***/common',
> ***@***.***/compiler',
> ***@***.***/core',
> ***@***.***/forms',
> ***@***.***/http',
> ***@***.***/platform-browser',
> ***@***.***/platform-browser-dynamic',
> ***@***.***/router',
> ***@***.***/platform-server',
> 'admin-lte/bootstrap/css/bootstrap.css',
> 'admin-lte/dist/css/AdminLTE.css',
> 'admin-lte/dist/css/skins/skin-black.css',
> 'core-js',
> 'es6-shim',
> 'es6-promise',
> 'event-source-polyfill',
> 'font-awesome/css/font-awesome.css',
> 'ionicons/dist/css/ionicons.css',
> //'jquery',
> 'zone.js',
> ]
> },
> output: {
> publicPath: '/dist/',
> filename: '[name].js',
> library: '[name]_[hash]'
> },
> plugins: [
> //new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery' }), // Maps these identifiers to the jQuery package (because Bootstrap expects it to be a global variable)
> new ***@***.***/, path.join(__dirname, './ClientApp')),
> new webpack.IgnorePlugin(/^vertx$/) // Workaround for stefanpenner/es6-promise#100
> ]
> };
>
> const clientBundleConfig = merge(sharedConfig, {
> output: { path: path.join(__dirname, 'wwwroot', 'dist') },
> module: {
> rules: [
> { test: /\.css(\?|$)/, use: extractCSS.extract({ use: 'css-loader' }) }
> ]
> },
> plugins: [
> extractCSS,
> new webpack.DllPlugin({
> path: path.join(__dirname, 'wwwroot', 'dist', '[name]-manifest.json'),
> name: '[name]_[hash]'
> })
> ].concat(isDevBuild ? [] : [
> new webpack.optimize.UglifyJsPlugin()
> ])
> });
>
> return [clientBundleConfig];
> }
>
> Is there a specific browser you're using? Have you tried other browsers?
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#800 (comment)>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AS0dkguaCFwsKK7qHe6RVjoYA9XZXZ97ks5smAt8gaJpZM4Mo5ff>
> .
>
|
after rebuilding vendor, it's worth to restart IIS if working
2017-09-25 23:05 GMT+02:00 Colleen <[email protected]>:
… Can you send your tsconfig.json and webpack.config.js? Your
webpack.config.vendor.js you sent before has some code that is in my
webpack.config.js
On Mon, Sep 25, 2017 at 3:24 PM, Colleen ***@***.***> wrote:
> ok thanks! I'll look at it and get back tomorrow.
>
> I've been using Chrome primarily but our company still uses IE11. The
> ngFors are extremely slow in IE11, so that's why I upgraded to Angular4
and
> better polyfills. I'm hoping this will solve the slowness problem. Did
> you notice that?
>
> On Mon, Sep 25, 2017 at 3:22 PM, Adam Amrine ***@***.***>
> wrote:
>
>> I'm not sure if this helps, but here is my package.json. I wouldn't copy
>> it verbatim or you'll get stuff you don't need and remove things you do.
>>
>> {
>> "name": "appname",
>> "version": "1.0.0",
>> "dependencies": {
>> ***@***.***/animations": "^4.0.0",
>> ***@***.***/common": "^4.0.0",
>> ***@***.***/compiler": "^4.0.0",
>> ***@***.***/core": "^4.0.0",
>> ***@***.***/forms": "^4.0.0",
>> ***@***.***/http": "^4.0.0",
>> ***@***.***/platform-browser": "^4.0.0",
>> ***@***.***/platform-browser-dynamic": "^4.0.0",
>> ***@***.***/platform-server": "^4.0.0",
>> ***@***.***/router": "^4.0.0",
>> ***@***.***/node": "^7.0.12",
>> "angular2-template-loader": "^0.6.2",
>> "aspnet-webpack": "^1.0.17",
>> "awesome-typescript-loader": "^3.0.0",
>> "core-js": "^2.4.1",
>> "css": "^2.2.1",
>> "css-loader": "^0.28.0",
>> "es6-shim": "^0.35.3",
>> "es6-promise": "^4.1.0",
>> "event-source-polyfill": "^0.0.9",
>> "expose-loader": "^0.7.3",
>> "extract-text-webpack-plugin": "^2.1.0",
>> "file-loader": "^0.11.1",
>> "html-loader": "^0.4.5",
>> "json-loader": "^0.5.4",
>> "preboot": "^4.5.2",
>> "raw-loader": "^0.5.1",
>> "rxjs": "^5.3.0",
>> "style-loader": "^0.16.1",
>> "to-string-loader": "^1.1.5",
>> "typescript": "^2.2.2",
>> "url-loader": "^0.5.8",
>> "webpack": "^2.3.3",
>> "webpack-hot-middleware": "^2.18.0",
>> "webpack-merge": "^4.1.0",
>> "zone.js": "^0.8.5",
>> "font-awesome": "^4.7.0",
>> "ionicons": "^3.0.0",
>> "admin-lte": "^2.3.11"
>> }
>> }
>>
>>
>> Here is my webpack.config.vendor.js:
>>
>> const path = require('path');
>> const webpack = require('webpack');
>> const ExtractTextPlugin = require('extract-text-webpack-plugin');
>> const merge = require('webpack-merge');
>>
>> module.exports = (env) => {
>> const extractCSS = new ExtractTextPlugin('vendor.css');
>> const isDevBuild = !(env && env.prod);
>> const sharedConfig = {
>> stats: { modules: false },
>> resolve: { extensions: ['.js'] },
>> module: {
>> rules: [
>> { test: /\.(jpg|png|woff|woff2|eot|ttf|svg)(\?|$)/, use:
'url-loader?limit=100000' }
>> ]
>> },
>> entry: {
>> vendor: [
>> ***@***.***/common',
>> ***@***.***/compiler',
>> ***@***.***/core',
>> ***@***.***/forms',
>> ***@***.***/http',
>> ***@***.***/platform-browser',
>> ***@***.***/platform-browser-dynamic',
>> ***@***.***/router',
>> ***@***.***/platform-server',
>> 'admin-lte/bootstrap/css/bootstrap.css',
>> 'admin-lte/dist/css/AdminLTE.css',
>> 'admin-lte/dist/css/skins/skin-black.css',
>> 'core-js',
>> 'es6-shim',
>> 'es6-promise',
>> 'event-source-polyfill',
>> 'font-awesome/css/font-awesome.css',
>> 'ionicons/dist/css/ionicons.css',
>> //'jquery',
>> 'zone.js',
>> ]
>> },
>> output: {
>> publicPath: '/dist/',
>> filename: '[name].js',
>> library: '[name]_[hash]'
>> },
>> plugins: [
>> //new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery' }), // Maps
these identifiers to the jQuery package (because Bootstrap expects it to be
a global variable)
>> new ***@***.***/,
path.join(__dirname, './ClientApp')),
>> new webpack.IgnorePlugin(/^vertx$/) // Workaround for
stefanpenner/es6-promise#100
>> ]
>> };
>>
>> const clientBundleConfig = merge(sharedConfig, {
>> output: { path: path.join(__dirname, 'wwwroot', 'dist') },
>> module: {
>> rules: [
>> { test: /\.css(\?|$)/, use: extractCSS.extract({ use: 'css-loader' }) }
>> ]
>> },
>> plugins: [
>> extractCSS,
>> new webpack.DllPlugin({
>> path: path.join(__dirname, 'wwwroot', 'dist', '[name]-manifest.json'),
>> name: '[name]_[hash]'
>> })
>> ].concat(isDevBuild ? [] : [
>> new webpack.optimize.UglifyJsPlugin()
>> ])
>> });
>>
>> return [clientBundleConfig];
>> }
>>
>> Is there a specific browser you're using? Have you tried other browsers?
>>
>> —
>> You are receiving this because you were mentioned.
>> Reply to this email directly, view it on GitHub
>> <#800#
issuecomment-332000573>,
>> or mute the thread
>> <https://github.com/notifications/unsubscribe-auth/
AS0dkguaCFwsKK7qHe6RVjoYA9XZXZ97ks5smAt8gaJpZM4Mo5ff>
>> .
>>
>
>
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#800 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ATW_NTC_5M0D5L-9Y_3CjtVzz79rThnTks5smBV9gaJpZM4Mo5ff>
.
|
Hi Adam, I tried to match as much as possible and still get the error
below.. is it possible to send me your tsconfig.json, webpack.config.js,
boot-client.ts and boot-server.ts?
thanks,
Colleen
TypeError: n.replace is not a function
at Ie (vendor.js?v=VR6o4twlFeL2-3FmU0tcayQhCR53UZjDReSWrNOnoB0:453)
at vendor.js?v=VR6o4twlFeL2-3FmU0tcayQhCR53UZjDReSWrNOnoB0:551
at Array.map (<anonymous>)
at t.normalizeStylesheet
(vendor.js?v=VR6o4twlFeL2-3FmU0tcayQhCR53UZjDReSWrNOnoB0:551)
at t.normalizeLoadedTemplate
(vendor.js?v=VR6o4twlFeL2-3FmU0tcayQhCR53UZjDReSWrNOnoB0:551)
at vendor.js?v=VR6o4twlFeL2-3FmU0tcayQhCR53UZjDReSWrNOnoB0:551
at Object.then
(vendor.js?v=VR6o4twlFeL2-3FmU0tcayQhCR53UZjDReSWrNOnoB0:523)
at t.normalizeTemplateOnly
(vendor.js?v=VR6o4twlFeL2-3FmU0tcayQhCR53UZjDReSWrNOnoB0:551)
at t.normalizeTemplate
(vendor.js?v=VR6o4twlFeL2-3FmU0tcayQhCR53UZjDReSWrNOnoB0:551)
at t.loadDirectiveMetadata
…On Mon, Sep 25, 2017 at 3:22 PM, Adam Amrine ***@***.***> wrote:
I'm not sure if this helps, but here is my package.json. I wouldn't copy
it verbatim or you'll get stuff you don't need and remove things you do.
{
"name": "appname",
"version": "1.0.0",
"dependencies": {
***@***.***/animations": "^4.0.0",
***@***.***/common": "^4.0.0",
***@***.***/compiler": "^4.0.0",
***@***.***/core": "^4.0.0",
***@***.***/forms": "^4.0.0",
***@***.***/http": "^4.0.0",
***@***.***/platform-browser": "^4.0.0",
***@***.***/platform-browser-dynamic": "^4.0.0",
***@***.***/platform-server": "^4.0.0",
***@***.***/router": "^4.0.0",
***@***.***/node": "^7.0.12",
"angular2-template-loader": "^0.6.2",
"aspnet-webpack": "^1.0.17",
"awesome-typescript-loader": "^3.0.0",
"core-js": "^2.4.1",
"css": "^2.2.1",
"css-loader": "^0.28.0",
"es6-shim": "^0.35.3",
"es6-promise": "^4.1.0",
"event-source-polyfill": "^0.0.9",
"expose-loader": "^0.7.3",
"extract-text-webpack-plugin": "^2.1.0",
"file-loader": "^0.11.1",
"html-loader": "^0.4.5",
"json-loader": "^0.5.4",
"preboot": "^4.5.2",
"raw-loader": "^0.5.1",
"rxjs": "^5.3.0",
"style-loader": "^0.16.1",
"to-string-loader": "^1.1.5",
"typescript": "^2.2.2",
"url-loader": "^0.5.8",
"webpack": "^2.3.3",
"webpack-hot-middleware": "^2.18.0",
"webpack-merge": "^4.1.0",
"zone.js": "^0.8.5",
"font-awesome": "^4.7.0",
"ionicons": "^3.0.0",
"admin-lte": "^2.3.11"
}
}
Here is my webpack.config.vendor.js:
const path = require('path');
const webpack = require('webpack');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const merge = require('webpack-merge');
module.exports = (env) => {
const extractCSS = new ExtractTextPlugin('vendor.css');
const isDevBuild = !(env && env.prod);
const sharedConfig = {
stats: { modules: false },
resolve: { extensions: ['.js'] },
module: {
rules: [
{ test: /\.(jpg|png|woff|woff2|eot|ttf|svg)(\?|$)/, use: 'url-loader?limit=100000' }
]
},
entry: {
vendor: [
***@***.***/common',
***@***.***/compiler',
***@***.***/core',
***@***.***/forms',
***@***.***/http',
***@***.***/platform-browser',
***@***.***/platform-browser-dynamic',
***@***.***/router',
***@***.***/platform-server',
'admin-lte/bootstrap/css/bootstrap.css',
'admin-lte/dist/css/AdminLTE.css',
'admin-lte/dist/css/skins/skin-black.css',
'core-js',
'es6-shim',
'es6-promise',
'event-source-polyfill',
'font-awesome/css/font-awesome.css',
'ionicons/dist/css/ionicons.css',
//'jquery',
'zone.js',
]
},
output: {
publicPath: '/dist/',
filename: '[name].js',
library: '[name]_[hash]'
},
plugins: [
//new webpack.ProvidePlugin({ $: 'jquery', jQuery: 'jquery' }), // Maps these identifiers to the jQuery package (because Bootstrap expects it to be a global variable)
new ***@***.***/, path.join(__dirname, './ClientApp')),
new webpack.IgnorePlugin(/^vertx$/) // Workaround for stefanpenner/es6-promise#100
]
};
const clientBundleConfig = merge(sharedConfig, {
output: { path: path.join(__dirname, 'wwwroot', 'dist') },
module: {
rules: [
{ test: /\.css(\?|$)/, use: extractCSS.extract({ use: 'css-loader' }) }
]
},
plugins: [
extractCSS,
new webpack.DllPlugin({
path: path.join(__dirname, 'wwwroot', 'dist', '[name]-manifest.json'),
name: '[name]_[hash]'
})
].concat(isDevBuild ? [] : [
new webpack.optimize.UglifyJsPlugin()
])
});
return [clientBundleConfig];
}
Is there a specific browser you're using? Have you tried other browsers?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#800 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AS0dkguaCFwsKK7qHe6RVjoYA9XZXZ97ks5smAt8gaJpZM4Mo5ff>
.
|
tsconfig.json:
boot-client.ts
webpack.config.js
We don't have a boot-server.ts because we removed server side rendering. You may also notice that some of these files have the pieces removed from them that are required for server side rendering. You should be able to disable SSR to see if that is part of the issue. |
thanks.. is awesome-typescript-loader part of npm or your own library? can
i use ts-loader instead?
…On Tue, Sep 26, 2017 at 10:53 AM, Adam Amrine ***@***.***> wrote:
tsconfig.json:
{
"compilerOptions": {
"moduleResolution": "node",
"target": "es5",
"sourceMap": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"skipDefaultLibCheck": true,
"lib": [ "es6", "dom" ],
"types": [ "node" ]
},
"exclude": [ "bin", "node_modules" ],
"atom": { "rewriteTsconfig": false }
}
boot-client.ts
import './polyfills/polyfills.ts';
import { enableProdMode } from ***@***.***/core';
import { platformBrowserDynamic } from ***@***.***/platform-browser-dynamic';
import { AppModule } from './app/app.module';
const rootElemTagName = 'app'; // Update this if you change your root component selector
// Enable either Hot Module Reloading or production mode
if (module['hot']) {
module['hot'].accept();
module['hot'].dispose(() => {
// Before restarting the app, we create a new root element and dispose the old one
const oldRootElem = document.querySelector(rootElemTagName);
const newRootElem = document.createElement(rootElemTagName);
oldRootElem.parentNode.insertBefore(newRootElem, oldRootElem);
platform.destroy();
});
} else {
enableProdMode();
}
// Boot the application, either now or when the DOM content is loaded
const platform = platformBrowserDynamic();
const bootApplication = () => { platform.bootstrapModule(AppModule); };
if (document.readyState === 'complete') {
bootApplication();
} else {
document.addEventListener('DOMContentLoaded', bootApplication);
}
webpack.config.js
const path = require('path');
const webpack = require('webpack');
const merge = require('webpack-merge');
const CheckerPlugin = require('awesome-typescript-loader').CheckerPlugin;
module.exports = (env) => {
// Configuration in common to both client-side and server-side bundles
const isDevBuild = !(env && env.prod);
const sharedConfig = {
stats: { modules: false },
context: __dirname,
resolve: { extensions: ['.js', '.ts'] },
output: {
filename: '[name].js',
publicPath: '/dist/' // Webpack dev middleware, if enabled, handles requests for this URL prefix
},
module: {
rules: [
{ test: /\.ts$/, include: /ClientApp/, use: ['awesome-typescript-loader?silent=true', 'angular2-template-loader'] },
{ test: /\.html$/, use: 'html-loader?minimize=false' },
{ test: /\.css$/, use: ['to-string-loader', 'css-loader'] },
{ test: /\.(png|jpg|jpeg|gif|svg)$/, use: 'url-loader?limit=25000' }
]
},
plugins: [new CheckerPlugin()]
};
// Configuration for client-side bundle suitable for running in browsers
const clientBundleOutputDir = './wwwroot/dist';
const clientBundleConfig = merge(sharedConfig, {
entry: { 'main-client': './ClientApp/boot-client.ts' },
output: { path: path.join(__dirname, clientBundleOutputDir) },
plugins: [
new webpack.DllReferencePlugin({
context: __dirname,
manifest: require('./wwwroot/dist/vendor-manifest.json')
})
].concat(isDevBuild ? [
// Plugins that apply in development builds only
new webpack.SourceMapDevToolPlugin({
filename: '[file].map', // Remove this line if you prefer inline source maps
moduleFilenameTemplate: path.relative(clientBundleOutputDir, '[resourcePath]') // Point sourcemap entries to the original file locations on disk
})
] : [
// Plugins that apply in production builds only
new webpack.optimize.UglifyJsPlugin()
])
});
return [clientBundleConfig];
};
We don't have a boot-server.ts because we removed server side rendering.
You may also notice that some of these files have the pieces removed from
them that are required for server side rendering. You should be able to
disable SSR to see if that is part of the issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#800 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AS0dkjr6LEADfmgQcu86yJ9Oywc02Luoks5smR3qgaJpZM4Mo5ff>
.
|
It would have come from npm. I'm not sure if ts-loader will work. That is
what it was using when I pulled down the sample app and I didn't change it.
…On Tue, Sep 26, 2017 at 12:11 PM, Colleen ***@***.***> wrote:
thanks.. is awesome-typescript-loader part of npm or your own library? can
i use ts-loader instead?
On Tue, Sep 26, 2017 at 10:53 AM, Adam Amrine ***@***.***>
wrote:
> tsconfig.json:
>
> {
> "compilerOptions": {
> "moduleResolution": "node",
> "target": "es5",
> "sourceMap": true,
> "experimentalDecorators": true,
> "emitDecoratorMetadata": true,
> "skipDefaultLibCheck": true,
> "lib": [ "es6", "dom" ],
> "types": [ "node" ]
> },
> "exclude": [ "bin", "node_modules" ],
> "atom": { "rewriteTsconfig": false }
> }
>
> boot-client.ts
>
> import './polyfills/polyfills.ts';
> import { enableProdMode } from ***@***.***/core';
> import { platformBrowserDynamic } from ***@***.***/platform-browser-
dynamic';
> import { AppModule } from './app/app.module';
> const rootElemTagName = 'app'; // Update this if you change your root
component selector
>
> // Enable either Hot Module Reloading or production mode
> if (module['hot']) {
> module['hot'].accept();
> module['hot'].dispose(() => {
> // Before restarting the app, we create a new root element and dispose
the old one
> const oldRootElem = document.querySelector(rootElemTagName);
> const newRootElem = document.createElement(rootElemTagName);
> oldRootElem.parentNode.insertBefore(newRootElem, oldRootElem);
> platform.destroy();
> });
> } else {
> enableProdMode();
> }
>
> // Boot the application, either now or when the DOM content is loaded
> const platform = platformBrowserDynamic();
>
> const bootApplication = () => { platform.bootstrapModule(AppModule); };
> if (document.readyState === 'complete') {
> bootApplication();
> } else {
> document.addEventListener('DOMContentLoaded', bootApplication);
> }
>
> webpack.config.js
>
> const path = require('path');
> const webpack = require('webpack');
> const merge = require('webpack-merge');
> const CheckerPlugin = require('awesome-typescript-
loader').CheckerPlugin;
>
> module.exports = (env) => {
> // Configuration in common to both client-side and server-side bundles
> const isDevBuild = !(env && env.prod);
> const sharedConfig = {
> stats: { modules: false },
> context: __dirname,
> resolve: { extensions: ['.js', '.ts'] },
> output: {
> filename: '[name].js',
> publicPath: '/dist/' // Webpack dev middleware, if enabled, handles
requests for this URL prefix
> },
> module: {
> rules: [
> { test: /\.ts$/, include: /ClientApp/, use: ['awesome-typescript-loader?silent=true',
'angular2-template-loader'] },
> { test: /\.html$/, use: 'html-loader?minimize=false' },
> { test: /\.css$/, use: ['to-string-loader', 'css-loader'] },
> { test: /\.(png|jpg|jpeg|gif|svg)$/, use: 'url-loader?limit=25000' }
> ]
> },
> plugins: [new CheckerPlugin()]
> };
>
> // Configuration for client-side bundle suitable for running in browsers
> const clientBundleOutputDir = './wwwroot/dist';
> const clientBundleConfig = merge(sharedConfig, {
> entry: { 'main-client': './ClientApp/boot-client.ts' },
> output: { path: path.join(__dirname, clientBundleOutputDir) },
> plugins: [
> new webpack.DllReferencePlugin({
> context: __dirname,
> manifest: require('./wwwroot/dist/vendor-manifest.json')
> })
> ].concat(isDevBuild ? [
> // Plugins that apply in development builds only
> new webpack.SourceMapDevToolPlugin({
> filename: '[file].map', // Remove this line if you prefer inline source
maps
> moduleFilenameTemplate: path.relative(clientBundleOutputDir,
'[resourcePath]') // Point sourcemap entries to the original file locations
on disk
> })
> ] : [
> // Plugins that apply in production builds only
> new webpack.optimize.UglifyJsPlugin()
> ])
> });
>
> return [clientBundleConfig];
> };
>
>
> We don't have a boot-server.ts because we removed server side rendering.
> You may also notice that some of these files have the pieces removed from
> them that are required for server side rendering. You should be able to
> disable SSR to see if that is part of the issue.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#800#
issuecomment-332244164>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/
AS0dkjr6LEADfmgQcu86yJ9Oywc02Luoks5smR3qgaJpZM4Mo5ff>
> .
>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#800 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AGDtPfkIrBB2V417J3usbG9axzWXHUQrks5smSEigaJpZM4Mo5ff>
.
|
Thank you so much for your help.. it worked after I got rid of the
server-side rendering code... it hangs up locally, but it works on our dev
server after publish.
thanks,
Colleen
On Tue, Sep 26, 2017 at 12:30 PM, Adam Amrine <[email protected]>
wrote:
… It would have come from npm. I'm not sure if ts-loader will work. That is
what it was using when I pulled down the sample app and I didn't change it.
On Tue, Sep 26, 2017 at 12:11 PM, Colleen ***@***.***>
wrote:
> thanks.. is awesome-typescript-loader part of npm or your own library?
can
> i use ts-loader instead?
>
> On Tue, Sep 26, 2017 at 10:53 AM, Adam Amrine ***@***.***>
> wrote:
>
> > tsconfig.json:
> >
> > {
> > "compilerOptions": {
> > "moduleResolution": "node",
> > "target": "es5",
> > "sourceMap": true,
> > "experimentalDecorators": true,
> > "emitDecoratorMetadata": true,
> > "skipDefaultLibCheck": true,
> > "lib": [ "es6", "dom" ],
> > "types": [ "node" ]
> > },
> > "exclude": [ "bin", "node_modules" ],
> > "atom": { "rewriteTsconfig": false }
> > }
> >
> > boot-client.ts
> >
> > import './polyfills/polyfills.ts';
> > import { enableProdMode } from ***@***.***/core';
> > import { platformBrowserDynamic } from ***@***.***/platform-browser-
> dynamic';
> > import { AppModule } from './app/app.module';
> > const rootElemTagName = 'app'; // Update this if you change your root
> component selector
> >
> > // Enable either Hot Module Reloading or production mode
> > if (module['hot']) {
> > module['hot'].accept();
> > module['hot'].dispose(() => {
> > // Before restarting the app, we create a new root element and dispose
> the old one
> > const oldRootElem = document.querySelector(rootElemTagName);
> > const newRootElem = document.createElement(rootElemTagName);
> > oldRootElem.parentNode.insertBefore(newRootElem, oldRootElem);
> > platform.destroy();
> > });
> > } else {
> > enableProdMode();
> > }
> >
> > // Boot the application, either now or when the DOM content is loaded
> > const platform = platformBrowserDynamic();
> >
> > const bootApplication = () => { platform.bootstrapModule(AppModule);
};
> > if (document.readyState === 'complete') {
> > bootApplication();
> > } else {
> > document.addEventListener('DOMContentLoaded', bootApplication);
> > }
> >
> > webpack.config.js
> >
> > const path = require('path');
> > const webpack = require('webpack');
> > const merge = require('webpack-merge');
> > const CheckerPlugin = require('awesome-typescript-
> loader').CheckerPlugin;
> >
> > module.exports = (env) => {
> > // Configuration in common to both client-side and server-side bundles
> > const isDevBuild = !(env && env.prod);
> > const sharedConfig = {
> > stats: { modules: false },
> > context: __dirname,
> > resolve: { extensions: ['.js', '.ts'] },
> > output: {
> > filename: '[name].js',
> > publicPath: '/dist/' // Webpack dev middleware, if enabled, handles
> requests for this URL prefix
> > },
> > module: {
> > rules: [
> > { test: /\.ts$/, include: /ClientApp/, use:
['awesome-typescript-loader?silent=true',
> 'angular2-template-loader'] },
> > { test: /\.html$/, use: 'html-loader?minimize=false' },
> > { test: /\.css$/, use: ['to-string-loader', 'css-loader'] },
> > { test: /\.(png|jpg|jpeg|gif|svg)$/, use: 'url-loader?limit=25000' }
> > ]
> > },
> > plugins: [new CheckerPlugin()]
> > };
> >
> > // Configuration for client-side bundle suitable for running in
browsers
> > const clientBundleOutputDir = './wwwroot/dist';
> > const clientBundleConfig = merge(sharedConfig, {
> > entry: { 'main-client': './ClientApp/boot-client.ts' },
> > output: { path: path.join(__dirname, clientBundleOutputDir) },
> > plugins: [
> > new webpack.DllReferencePlugin({
> > context: __dirname,
> > manifest: require('./wwwroot/dist/vendor-manifest.json')
> > })
> > ].concat(isDevBuild ? [
> > // Plugins that apply in development builds only
> > new webpack.SourceMapDevToolPlugin({
> > filename: '[file].map', // Remove this line if you prefer inline source
> maps
> > moduleFilenameTemplate: path.relative(clientBundleOutputDir,
> '[resourcePath]') // Point sourcemap entries to the original file
locations
> on disk
> > })
> > ] : [
> > // Plugins that apply in production builds only
> > new webpack.optimize.UglifyJsPlugin()
> > ])
> > });
> >
> > return [clientBundleConfig];
> > };
> >
> >
> > We don't have a boot-server.ts because we removed server side
rendering.
> > You may also notice that some of these files have the pieces removed
from
> > them that are required for server side rendering. You should be able to
> > disable SSR to see if that is part of the issue.
> >
> > —
> > You are receiving this because you were mentioned.
> > Reply to this email directly, view it on GitHub
> > <#800#
> issuecomment-332244164>,
> > or mute the thread
> > <https://github.com/notifications/unsubscribe-auth/
> AS0dkjr6LEADfmgQcu86yJ9Oywc02Luoks5smR3qgaJpZM4Mo5ff>
>
> > .
> >
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#800#
issuecomment-332248895>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/
AGDtPfkIrBB2V417J3usbG9axzWXHUQrks5smSEigaJpZM4Mo5ff>
> .
>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#800 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AS0dkg7QqzesA5Da5ATbpKiRT-vUeTJeks5smTSxgaJpZM4Mo5ff>
.
|
Angular 4.0.0 has now been released http://angularjs.blogspot.com.au/2017/03/angular-400-now-available.html with some good improvements
The text was updated successfully, but these errors were encountered: