File tree 2 files changed +11
-12
lines changed
packages/angular-cli/models
2 files changed +11
-12
lines changed Original file line number Diff line number Diff line change @@ -59,16 +59,11 @@ export function getWebpackCommonConfig(
59
59
if ( appConfig . scripts . length > 0 ) {
60
60
const globalScripts = extraEntryParser ( appConfig . scripts , appRoot , 'scripts' ) ;
61
61
62
- // add script entry points
63
- globalScripts . forEach ( script =>
64
- entryPoints [ script . entry ]
65
- ? entryPoints [ script . entry ] . push ( script . path )
66
- : entryPoints [ script . entry ] = [ script . path ]
67
- ) ;
68
-
69
- // load global scripts using script-loader
70
- extraRules . push ( {
71
- include : globalScripts . map ( ( script ) => script . path ) , test : / \. j s $ / , loader : 'script-loader'
62
+ // add entry points and lazy chunks
63
+ globalScripts . forEach ( script => {
64
+ let scriptPath = `script-loader!${ script . path } ` ;
65
+ if ( script . lazy ) { lazyChunks . push ( script . entry ) ; }
66
+ entryPoints [ script . entry ] = ( entryPoints [ script . entry ] || [ ] ) . concat ( scriptPath ) ;
72
67
} ) ;
73
68
}
74
69
Original file line number Diff line number Diff line change 1
1
import {
2
2
writeMultipleFiles ,
3
- expectFileToMatch
3
+ expectFileToMatch ,
4
+ appendToFile
4
5
} from '../../utils/fs' ;
5
6
import { ng } from '../../utils/process' ;
6
7
import { updateJsonFile } from '../../utils/project' ;
@@ -16,6 +17,7 @@ export default function () {
16
17
'src/common-entry-script.js' : 'console.log(\'common-entry-script\');' ,
17
18
'src/common-entry-style.css' : '.common-entry-style { color: red }' ,
18
19
} )
20
+ . then ( ( ) => appendToFile ( 'src/main.ts' , 'import \'./string-script.js\';' ) )
19
21
. then ( ( ) => updateJsonFile ( 'angular-cli.json' , configJson => {
20
22
const app = configJson [ 'apps' ] [ 0 ] ;
21
23
app [ 'scripts' ] = [
@@ -48,5 +50,7 @@ export default function () {
48
50
<script type="text/javascript" src="scripts.bundle.js"></script>
49
51
<script type="text/javascript" src="vendor.bundle.js"></script>
50
52
<script type="text/javascript" src="main.bundle.js"></script>
51
- ` ) ) ;
53
+ ` ) )
54
+ // ensure scripts aren't using script-loader when imported from the app
55
+ . then ( ( ) => expectFileToMatch ( 'dist/main.bundle.js' , 'console.log(\'string-script\');' ) ) ;
52
56
}
You can’t perform that action at this time.
0 commit comments