82598c094f | ||
---|---|---|
.. | ||
assets | ||
config | ||
src/webparts/helloAngularTemplate | ||
README.md | ||
gulpfile.js | ||
package-lock.json | ||
package.json | ||
tsconfig.json |
README.md
page_type | products | languages | extensions | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
sample |
|
|
|
Angular Elements with HTML Template File in SharePoint Framework
Summary
A sample web part illustrating how to use Angular Elements in the SharePoint Framework with the help of separate template HTML File.
Used SharePoint Framework Version
Applies to
Solution
Solution | Author(s) |
---|---|
angularelements-html-templatefile | Jayakumar Balasubramaniam (C# Corner MVP, Hubfly, @jayakumrB) |
Version history
Version | Date | Comments |
---|---|---|
1.0 | Jan 8, 2019 | Initial release |
Disclaimer
THIS CODE IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
Minimal Path to Awesome
- clone this repo
- in the command line run:
npm i
gulp serve
Features
This web part illustrates the following concepts on top of the SharePoint Framework:
- adding Angular Elements to a no-framework SharePoint Framework project
- bootstrapping Angular Elements inside a SharePoint Framework web part
- extending the building configuration to build Angular Elements
- utilizing build pipeline to compile and run angular template files in gulpfile.js
Implementation
The below piece of code in gulpfile.js is the key to update the build pipeline:
//************START: Added to handle Template file url ************/
var inlineNgxTemplate = require('gulp-inline-ngx-template');
var ts = require('gulp-typescript');
var tsProject = ts.createProject('./tsconfig.json');
let tsInlines = build.subTask('tsInlines', function(gulp, buildOptions, done) {
return gulp.src('src/webparts/helloAngularTemplate/app/**/*.ts')
.pipe(inlineNgxTemplate({ base: '/src/webparts/helloAngularTemplate/app/', useRelativePaths: true }))
.pipe(tsProject())
.pipe(gulp.dest('lib/webparts/helloAngularTemplate/app'));
})
build.rig.addPostTypescriptTask(tsInlines);
//************END: Added to handle Template file url ************/
Support
If you encounter any issues while using this sample, create a new issue.
For questions regarding this sample, create a new question.
Finally, if you have an idea for improvement, make a suggestion.