EXCEPTION: No Directive annotation found on e - meteor

I tried to deploy an angular2-meteor project on meteor server.
The app works well locally. And I already did meteor reset before deploying.
Right now it shows a blank page and error:
EXCEPTION: No Directive annotation found on e
I also tried add https, but same error. What does this error mean? Or what can possibly cause this? Thanks
Please open this page and see Console for more error details.
UPDATE: log file I got using meteor logs xxx.

You should include -dev.js files (for example angular2.dev.js) for Angular2 so you'll be able to see more readable errors and especially on which class you have the problem...
<script src="node_modules/angular2/bundles/angular2-polyfills.js"></script>
<script src="node_modules/systemjs/dist/system.src.js"></script>
<script src="node_modules/rxjs/bundles/Rx.js"></script>
<script src="node_modules/angular2/bundles/angular2.dev.js"></script> <-----
<script src="node_modules/angular2/bundles/router.dev.js"></script> <-----
<script src="node_modules/angular2/bundles/http.dev.js"></script> <-----
Most of time, you have such error when providing something wrong in the directives attribute of a component. For example providers...

Now I found why it shows these errors.
If you met similar problems like these:
EXCEPTION: No Directive annotation found on e
Or
ngDoCheck is not a function when using minified bundles
They are all related with UglifyJS. Right now there is no good way to solve them.
Check here and here

Related

Laravel 5.7: what is the meaning of Undefined index style(mix('/css/frontend.css'))?

I am new to Laravel and currently attempt to import vue to my Laravel project.
After I ran 'npm run dev' command and check a page built with blade layout which is downloaded from a boilerplate project, I see the error : Undefined index in style(mix('/css/frontend.css')). This css file exists in public/css.
This is the line that invokes this error.
{{ style(mix('/css/frontend.css')) }}
What is its meaning and how to fix it?
Also, I can't find the api documentation that tell the function of style() and mix().
If you know where the documentation is, please give me the link. Thanks!
Check webpack.mix.js to see if frontend.css is being compiled by Laravel Mix. If you don't see any reference to it, then you should reference the file in your Blade views with asset('/css/frontend.css') instead of mix().
mix() reads from public/mix-manifest.json to map your source filenames to their output name, which is useful when files are versioned for cache busting. A mix-manifest entry might look like this: "/css/app.css": "/css/app.css?id=7564ad125f69af0035c3". If your file wasn't compiled or copied with Laravel mix then it would not have an entry in mix-manifest.json, which would explain the undefined index error and why you need to use asset() instead.
Also, I don't know what style() is but it doesn't come with the Laravel framework.
Refs: https://laravel.com/docs/5.7/mix#versioning-and-cache-busting

$2sxc is not defined

After adding Content module to a page, I just get a round blue icon with white glasses. Clicking on it produces an error in the console:
ReferenceError: $2sxc is not defined 1 ui.html:20:5
<anonymous> http://localhost/DotNetNuke/desktopmodules/tosic_sexycontent/dist/ng/ui.html:20:5
Clicking 'Change Template / Layout' in pencil menu also does nothing. This happened after upgrading from 2sxc 8.12 to 9.02. I checked the file and of course could not see $2sxc defined anywhere. I have installed on other sites and not had this problem, but it is failing on my localhost installation. DNN 9.1.1 I have tried uninstalling 2sxc and deleting all the Tosic... files I can find, then reinstalling, but I get the same results.
Similar to: Having some issues with 2sxc version 9.x: unable to select App/Content layout
Does anyone know how to fix this? Thx.
I fixed this after a little debugging and following the code. The problem happens on localhost implementations. There is a file: DesktopModules\ToSIC_SexyContent\dist\ng\ui.html
that contains the code in a script container:
var
path = window.location.pathname,
isDevMode = window.location.hostname === 'localhost',
apiUrl;
The problem is that it thinks it is in 'DevMode' when it is on localhost and therefore sets:
devPath = 'http://2sxc.dev/desktopmodules/tosic_sexycontent/dist/a4/';
which is certainly not a valid URL on my system, and apparently not on the web either. So the solution is to have it avoid 'DevMode' and everything works as it should. I did this by modifying the 'localhost' to be 'xlocalhost' and it worked like a charm. You could also just set it to false.
So this was a bug in that version, it's fixed now.

Laravel generates an error "Echo is Echo is not defined"

I am working with Laravel Event Broadcasting and i am using pusher driver for broadcasting event and its working perfectly.
The public channel is subscribed successfully from client side using pusher provided js library
var pusher = new Pusher('xxxxxxxxxxxxxxxxxxxxx_my_app_key', {
encrypted: true
});
var channel = pusher.subscribe('TestPusher');
channel.bind('App\\Events\\TestPusher', function(data) {
alert(data.msg);
});
But when i use Echo in my client side code
Echo.channel('TestPusher')
.listen('TestPusher', (e) => {
console.log(e.msg, e.chatMessage);
});
It generates the error " Echo is not defined ".
I already installed the Laravel Echo library using npm install --save laravel-echo pusher-js in my application and also included the following code in resources/assets/js/bootstrap.js file as per the laravel provide documentation.
import Echo from "laravel-echo"
window.Echo = new Echo({
broadcaster: 'pusher',
key: 'xxxxxxxxxxxxxxxxxxxxx_my_app_key'
});
So please help me how can i fix this problem.
My issue was that I was not compiling bootstrap.js together with the rest of the code because I had removed the line require('./bootstrap') from app.js. I added that line back and I was home and dry.
As described here
I had this problem a few days ago. My gulp installation was all messed up and Laravel versioning didn't help.
Sorry if this doesn't help, it's just my experience and most detailed as possible:
First, I'll consider you do have the js/app.js script included on you site.
Now, you're seeing this error because, as Josh mentioned, you're not compiling your js files. After editing 'resources/assets/js/bootstrap.js', this file needs to be compiled by running the asset compiler: gulp (named Laravel Elixir docs/5.3/elixir) in Laravel 5.3).
If you followed carefully this part of the tutorials, you shall be extra careful with laravel's npm dependencies versions, specially those used by Elixir (Once again, my gulp installation wasn't working at all even though no error messages showed up).
So, if this is a new project, you should consider updating to Laravel 5.4. If you can't or not willing to update all Laravel framework, perhaps this can be solved like I did. Staying at 5.3 but using the latest assets compiler on 5.4, named Laravel Mix. Now it runs on npm: npm run dev. (No gulp mentioned on doc.)
To achieve this, you should update to latest package.json on 5.4 and follow the 5.4 documentation to install Laravel Mix.
Your codes looks fine, Problem is your JS order so only you getting undefined issues
like
<script>
Echo.channel('TestPusher')
.listen('TestPusher', (e) => {
console.log(e.msg, e.chatMessage);
});
</script>
<script src="echo.js"></script>
so zigzag the order :)
widow object before each Echo.
window.Echo.channel('TestPusher')
.listen('TestPusher', (e) => {
console.log(e.msg, e.chatMessage);
});
remove defer from your app.js script tag
<!-- Scripts -->
<script src="{{ asset('js/app.js') }}" defer></script>

grunt-contrib-qunit plugin is looking for qunit.js file along with my tests.html

I tried loading qunit js from both tests.html and through require, but irrespective of how I load qunit, when I run grunt task to run qunit tests it is failing tests with timeout and in the error it states qunit.js is not found in the same folder where my tests.html is present. I am able to overcome this issue by simply copying the qunit.js file. I don't want to keep qunit.js in this additional location, can you please share your thoughts why it is looking for qunit.js at this specific location.
Thanks
Sudhakar
Faced the same issue while setting up the QUnit workflow for my AMD Oracle JET project.
The reason for this seems to be the absence of the 'qunit' path in the requirejs configuration.
Adding this:
require.config({
...
paths: {
'qunit': 'path/to/your/qunit/js'
}
})
...and moving all the code in my data-main file to a <script></script> block within the <body> of index.html did the trick for me.
Hope this helps.

convert .WAR for auto deploy in karaf/servicemix

I've got very simple .WAR containing example servlet. I'm able to deploy it in servicemix using the following command:
osgi:install file:///home/seiho/apache-servicemix-4.4.2/deploy/TestServlet.war?Bundle-SymbolicName=TestServlet&Webapp-Context=/TestServlet
And then see it in my browser. But only with full path to a file, e.g.: localhost:8080/TestServlet/index.html or localhost:8080/TestServlet/TestServlet (my servlet is TestServlet class).
I'd like to launch the index.html page automatically after entering: localhost:8080/TestServlet
how to do it?
MORE IMPORTANT
I need a way to convert the .WAR file or servlet project (I've got the sources) so that new .WAR file can be auto-deployed by copying it to $SERVICEMIX_HOME/deploy directory.
I've tried editing the MANIFEST.MF file, but with no success. Probably I'm doing something wrong.
Thanks for any advice/help.
To be recognised as a wab, you need to add a context path header to your manifest:
Web-ContextPath: TestServlet
It's working now! I was doing my MANIFEST.MF according to this page: http://team.ops4j.org/wiki/display/ops4j/Pax+Web+Extender+-+War+-+OSGi-fy
The problem was that for some reason "Bundle-Version: 1.0" line was required as opposed to optional as stated on that page.
Honestly, just adding the Bundle-Version fix-it.
I knew it was something wrong with the MANIFEST.MF and after Holly Cummins' question I played with it a bit more. Thanks Holly.
I still can't do anything with the manual site launching (have to manually enter the index.html).
http://localhost:8080/TestServlet/ gives me this:
HTTP ERROR 404
Problem accessing /TestServlet/. Reason:
Not Found
Powered by Jetty://
http://localhost:8080/TestServlet/index.html gives me proper site.

Resources